gitextract_vlawd1i1/ ├── .gitattributes ├── .github/ │ ├── ci/ │ │ ├── book.sh │ │ ├── build-nightly.sh │ │ ├── build-xtensa.sh │ │ ├── build.sh │ │ ├── doc.sh │ │ ├── janitor.sh │ │ ├── rustfmt.sh │ │ ├── test-nightly.sh │ │ └── test.sh │ └── workflows/ │ ├── matrix-bot-issues.yml │ └── matrix-bot.yml ├── .gitignore ├── .helix/ │ └── languages.toml ├── .vscode/ │ ├── .gitignore │ ├── extensions.json │ └── settings.json ├── LICENSE-APACHE ├── LICENSE-CC-BY-SA ├── LICENSE-MIT ├── NOTICE.md ├── README.md ├── RELEASE.md ├── ci-nightly.sh ├── ci-xtensa.sh ├── ci.sh ├── cyw43/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── bluetooth.rs │ ├── consts.rs │ ├── control.rs │ ├── countries.rs │ ├── events.rs │ ├── fmt.rs │ ├── ioctl.rs │ ├── lib.rs │ ├── runner.rs │ ├── sdio.rs │ ├── spi.rs │ ├── structs.rs │ └── util.rs ├── cyw43-firmware/ │ ├── .gitignore │ ├── LICENSE-permissive-binary-license-1.0.txt │ ├── README.md │ └── write_nvrams.rs ├── cyw43-pio/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ └── lib.rs ├── docs/ │ ├── Makefile │ ├── README.md │ ├── examples/ │ │ ├── basic/ │ │ │ ├── .cargo/ │ │ │ │ └── config.toml │ │ │ ├── Cargo.toml │ │ │ ├── build.rs │ │ │ ├── memory.x │ │ │ └── src/ │ │ │ └── main.rs │ │ └── layer-by-layer/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── blinky-async/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── blinky-hal/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── blinky-irq/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── blinky-pac/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── main.rs │ │ └── memory.x │ ├── images/ │ │ ├── embassy_executor.drawio │ │ └── embassy_irq.drawio │ ├── index.adoc │ └── pages/ │ ├── basic_application.adoc │ ├── beginners.adoc │ ├── best_practices.adoc │ ├── bootloader.adoc │ ├── developer.adoc │ ├── developer_stm32.adoc │ ├── embassy_in_the_wild.adoc │ ├── examples.adoc │ ├── faq.adoc │ ├── getting_started.adoc │ ├── hal.adoc │ ├── imxrt.adoc │ ├── layer_by_layer.adoc │ ├── mcxa.adoc │ ├── microchip.adoc │ ├── new_project.adoc │ ├── nrf.adoc │ ├── overview.adoc │ ├── project_structure.adoc │ ├── runtime.adoc │ ├── sharing_peripherals.adoc │ ├── stm32.adoc │ ├── system.adoc │ └── time_keeping.adoc ├── embassy-boot/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── boot_loader.rs │ ├── digest_adapters/ │ │ ├── ed25519_dalek.rs │ │ ├── mod.rs │ │ └── salty.rs │ ├── firmware_updater/ │ │ ├── asynch.rs │ │ ├── blocking.rs │ │ └── mod.rs │ ├── fmt.rs │ ├── lib.rs │ ├── mem_flash.rs │ └── test_flash/ │ ├── asynch.rs │ ├── blocking.rs │ └── mod.rs ├── embassy-boot-nrf/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── fmt.rs │ └── lib.rs ├── embassy-boot-rp/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ └── src/ │ ├── fmt.rs │ └── lib.rs ├── embassy-boot-stm32/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ └── src/ │ ├── fmt.rs │ └── lib.rs ├── embassy-embedded-hal/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── adapter/ │ │ ├── blocking_async.rs │ │ ├── mod.rs │ │ └── yielding_async.rs │ ├── flash/ │ │ ├── concat_flash.rs │ │ ├── mem_flash.rs │ │ ├── mod.rs │ │ └── partition/ │ │ ├── asynch.rs │ │ ├── blocking.rs │ │ └── mod.rs │ ├── lib.rs │ └── shared_bus/ │ ├── asynch/ │ │ ├── i2c.rs │ │ ├── mod.rs │ │ └── spi.rs │ ├── blocking/ │ │ ├── i2c.rs │ │ ├── mod.rs │ │ └── spi.rs │ └── mod.rs ├── embassy-executor/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── build_common.rs │ ├── gen_config.py │ ├── src/ │ │ ├── fmt.rs │ │ ├── lib.rs │ │ ├── metadata.rs │ │ ├── platform/ │ │ │ ├── avr.rs │ │ │ ├── cortex_ar.rs │ │ │ ├── cortex_m.rs │ │ │ ├── riscv32.rs │ │ │ ├── spin.rs │ │ │ ├── std.rs │ │ │ └── wasm.rs │ │ ├── raw/ │ │ │ ├── deadline.rs │ │ │ ├── mod.rs │ │ │ ├── run_queue.rs │ │ │ ├── state_atomics.rs │ │ │ ├── state_atomics_arm.rs │ │ │ ├── state_critical_section.rs │ │ │ ├── trace.rs │ │ │ ├── util.rs │ │ │ ├── waker.rs │ │ │ └── waker_turbo.rs │ │ └── spawner.rs │ └── tests/ │ ├── test.rs │ ├── ui/ │ │ ├── abi.rs │ │ ├── abi.stderr │ │ ├── bad_return.rs │ │ ├── bad_return.stderr │ │ ├── bad_return_impl_future.rs │ │ ├── bad_return_impl_future.stderr │ │ ├── bad_return_impl_future_nightly.rs │ │ ├── bad_return_impl_future_nightly.stderr │ │ ├── generics.rs │ │ ├── generics.stderr │ │ ├── impl_trait.rs │ │ ├── impl_trait.stderr │ │ ├── impl_trait_nested.rs │ │ ├── impl_trait_nested.stderr │ │ ├── impl_trait_static.rs │ │ ├── impl_trait_static.stderr │ │ ├── nonstatic_ref_anon.rs │ │ ├── nonstatic_ref_anon.stderr │ │ ├── nonstatic_ref_anon_nested.rs │ │ ├── nonstatic_ref_anon_nested.stderr │ │ ├── nonstatic_ref_elided.rs │ │ ├── nonstatic_ref_elided.stderr │ │ ├── nonstatic_ref_generic.rs │ │ ├── nonstatic_ref_generic.stderr │ │ ├── nonstatic_struct_anon.rs │ │ ├── nonstatic_struct_anon.stderr │ │ ├── nonstatic_struct_elided.rs │ │ ├── nonstatic_struct_elided.stderr │ │ ├── nonstatic_struct_generic.rs │ │ ├── nonstatic_struct_generic.stderr │ │ ├── not_async.rs │ │ ├── not_async.stderr │ │ ├── return_impl_future_nonsend.rs │ │ ├── return_impl_future_nonsend.stderr │ │ ├── return_impl_send.rs │ │ ├── return_impl_send.stderr │ │ ├── return_impl_send_nightly.rs │ │ ├── return_impl_send_nightly.stderr │ │ ├── self.rs │ │ ├── self.stderr │ │ ├── self_ref.rs │ │ ├── self_ref.stderr │ │ ├── spawn_nonsend.rs │ │ ├── spawn_nonsend.stderr │ │ ├── task_safety_attribute.rs │ │ ├── type_error.rs │ │ ├── type_error.stderr │ │ ├── unsafe_op_in_unsafe_task.rs │ │ ├── unsafe_op_in_unsafe_task.stderr │ │ ├── where_clause.rs │ │ └── where_clause.stderr │ └── ui.rs ├── embassy-executor-macros/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── lib.rs │ ├── macros/ │ │ ├── main.rs │ │ ├── mod.rs │ │ └── task.rs │ └── util.rs ├── embassy-executor-timer-queue/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ └── lib.rs ├── embassy-futures/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── block_on.rs │ ├── fmt.rs │ ├── join.rs │ ├── lib.rs │ ├── select.rs │ └── yield_now.rs ├── embassy-hal-internal/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── build_common.rs │ └── src/ │ ├── atomic_ring_buffer.rs │ ├── drop.rs │ ├── fmt.rs │ ├── interrupt.rs │ ├── lib.rs │ ├── macros.rs │ ├── peripheral.rs │ └── ratio.rs ├── embassy-imxrt/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── chips/ │ │ ├── mimxrt633s.rs │ │ └── mimxrt685s.rs │ ├── clocks.rs │ ├── crc.rs │ ├── dma.rs │ ├── flexcomm/ │ │ ├── mod.rs │ │ ├── spi.rs │ │ └── uart.rs │ ├── fmt.rs │ ├── gpio.rs │ ├── iopctl.rs │ ├── lib.rs │ ├── rng.rs │ └── time_driver.rs ├── embassy-mcxa/ │ ├── .gitignore │ ├── Cargo.toml │ ├── DEVGUIDE.md │ ├── README.md │ └── src/ │ ├── adc.rs │ ├── cdog.rs │ ├── chips/ │ │ ├── mcxa2xx.rs │ │ ├── mcxa5xx.rs │ │ └── mod.rs │ ├── clkout.rs │ ├── clocks/ │ │ ├── config.rs │ │ ├── gate.rs │ │ ├── mod.rs │ │ ├── operator.rs │ │ ├── periph_helpers/ │ │ │ ├── mcxa2xx.rs │ │ │ ├── mcxa5xx.rs │ │ │ └── mod.rs │ │ ├── sleep.rs │ │ └── types.rs │ ├── config.rs │ ├── crc.rs │ ├── ctimer/ │ │ ├── capture.rs │ │ ├── mod.rs │ │ └── pwm.rs │ ├── dma.rs │ ├── executor.rs │ ├── flash.rs │ ├── gpio.rs │ ├── i2c/ │ │ ├── controller.rs │ │ ├── mod.rs │ │ └── target.rs │ ├── i3c/ │ │ ├── controller.rs │ │ └── mod.rs │ ├── inputmux.rs │ ├── lib.rs │ ├── lpuart/ │ │ ├── bbq.rs │ │ ├── blocking.rs │ │ ├── buffered.rs │ │ ├── dma.rs │ │ └── mod.rs │ ├── ostimer.rs │ ├── perf_counters.rs │ ├── reset_reason.rs │ ├── rtc/ │ │ ├── mcxa2xx.rs │ │ ├── mcxa5xx.rs │ │ └── mod.rs │ ├── spi/ │ │ ├── controller.rs │ │ └── mod.rs │ ├── trng.rs │ └── wwdt.rs ├── embassy-microchip/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── fmt.rs │ ├── gpio.rs │ ├── i2c.rs │ ├── lib.rs │ ├── pwm.rs │ ├── tach.rs │ ├── time_driver.rs │ └── uart.rs ├── embassy-mspm0/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── build_common.rs │ └── src/ │ ├── adc.rs │ ├── dma.rs │ ├── fmt.rs │ ├── gpio.rs │ ├── i2c.rs │ ├── i2c_target.rs │ ├── lib.rs │ ├── macros.rs │ ├── mathacl.rs │ ├── time_driver.rs │ ├── timer.rs │ ├── trng.rs │ ├── uart/ │ │ ├── buffered.rs │ │ └── mod.rs │ └── wwdt.rs ├── embassy-net/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── dns.rs │ ├── driver_util.rs │ ├── fmt.rs │ ├── icmp.rs │ ├── lib.rs │ ├── raw.rs │ ├── tcp.rs │ ├── time.rs │ └── udp.rs ├── embassy-net-adin1110/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── crc32.rs │ ├── crc8.rs │ ├── fmt.rs │ ├── lib.rs │ ├── mdio.rs │ ├── phy.rs │ └── regs.rs ├── embassy-net-driver/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ └── lib.rs ├── embassy-net-driver-channel/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── fmt.rs │ └── lib.rs ├── embassy-net-enc28j60/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── bank0.rs │ ├── bank1.rs │ ├── bank2.rs │ ├── bank3.rs │ ├── common.rs │ ├── fmt.rs │ ├── header.rs │ ├── lib.rs │ ├── macros.rs │ ├── phy.rs │ └── traits.rs ├── embassy-net-esp-hosted/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── control.rs │ ├── esp_hosted_config.proto │ ├── fmt.rs │ ├── iface.rs │ ├── ioctl.rs │ ├── lib.rs │ └── proto.rs ├── embassy-net-nrf91/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── context.rs │ ├── fmt.rs │ └── lib.rs ├── embassy-net-ppp/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── fmt.rs │ └── lib.rs ├── embassy-net-tuntap/ │ ├── Cargo.toml │ ├── README.md │ └── src/ │ └── lib.rs ├── embassy-net-wiznet/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── chip/ │ │ ├── mod.rs │ │ ├── w5100s.rs │ │ ├── w5500.rs │ │ ├── w6100.rs │ │ └── w6300.rs │ ├── device.rs │ └── lib.rs ├── embassy-nrf/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── buffered_uarte/ │ │ ├── mod.rs │ │ ├── v1.rs │ │ └── v2.rs │ ├── chips/ │ │ ├── nrf51.rs │ │ ├── nrf52805.rs │ │ ├── nrf52810.rs │ │ ├── nrf52811.rs │ │ ├── nrf52820.rs │ │ ├── nrf52832.rs │ │ ├── nrf52833.rs │ │ ├── nrf52840.rs │ │ ├── nrf5340_app.rs │ │ ├── nrf5340_net.rs │ │ ├── nrf54l05_app.rs │ │ ├── nrf54l10_app.rs │ │ ├── nrf54l15_app.rs │ │ ├── nrf54lm20_app.rs │ │ ├── nrf9120.rs │ │ └── nrf9160.rs │ ├── cracen.rs │ ├── cryptocell_rng.rs │ ├── egu.rs │ ├── embassy_net_802154_driver.rs │ ├── fmt.rs │ ├── gpio.rs │ ├── gpiote.rs │ ├── i2s.rs │ ├── ipc.rs │ ├── lib.rs │ ├── nfct.rs │ ├── nvmc.rs │ ├── pdm.rs │ ├── power.rs │ ├── ppi/ │ │ ├── dppi.rs │ │ ├── mod.rs │ │ └── ppi.rs │ ├── pwm.rs │ ├── qdec.rs │ ├── qspi.rs │ ├── radio/ │ │ ├── ieee802154.rs │ │ └── mod.rs │ ├── reset.rs │ ├── rng.rs │ ├── rramc.rs │ ├── rtc.rs │ ├── saadc.rs │ ├── spim.rs │ ├── spis.rs │ ├── temp.rs │ ├── time_driver.rs │ ├── timer.rs │ ├── twim.rs │ ├── twis.rs │ ├── uarte.rs │ ├── usb/ │ │ ├── mod.rs │ │ └── vbus_detect.rs │ ├── util.rs │ └── wdt.rs ├── embassy-nxp/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── build.rs │ ├── build_common.rs │ └── src/ │ ├── chips/ │ │ ├── lpc55.rs │ │ ├── mimxrt1011.rs │ │ └── mimxrt1062.rs │ ├── dma/ │ │ └── lpc55.rs │ ├── dma.rs │ ├── fmt.rs │ ├── gpio/ │ │ ├── lpc55.rs │ │ └── rt1xxx.rs │ ├── gpio.rs │ ├── iomuxc.rs │ ├── lib.rs │ ├── pint.rs │ ├── pwm/ │ │ └── lpc55.rs │ ├── pwm.rs │ ├── sct.rs │ ├── time_driver/ │ │ ├── pit.rs │ │ └── rtc.rs │ ├── usart/ │ │ └── lpc55.rs │ └── usart.rs ├── embassy-rp/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── LICENSE-APACHE │ ├── LICENSE-MIT │ ├── README.md │ ├── build.rs │ ├── funcsel.txt │ ├── link-rp.x.in │ └── src/ │ ├── adc.rs │ ├── aon_timer/ │ │ └── mod.rs │ ├── block.rs │ ├── bootsel.rs │ ├── clocks.rs │ ├── critical_section_impl.rs │ ├── datetime/ │ │ ├── datetime_chrono.rs │ │ ├── datetime_no_deps.rs │ │ ├── epoch.rs │ │ └── mod.rs │ ├── dma.rs │ ├── executor.rs │ ├── flash.rs │ ├── float/ │ │ ├── add_sub.rs │ │ ├── cmp.rs │ │ ├── conv.rs │ │ ├── div.rs │ │ ├── functions.rs │ │ ├── mod.rs │ │ └── mul.rs │ ├── fmt.rs │ ├── gpio.rs │ ├── i2c.rs │ ├── i2c_slave.rs │ ├── intrinsics.rs │ ├── lib.rs │ ├── multicore.rs │ ├── otp.rs │ ├── pio/ │ │ ├── instr.rs │ │ └── mod.rs │ ├── pio_programs/ │ │ ├── clk.rs │ │ ├── clock_divider.rs │ │ ├── hd44780.rs │ │ ├── i2s.rs │ │ ├── mod.rs │ │ ├── onewire.rs │ │ ├── pwm.rs │ │ ├── rotary_encoder.rs │ │ ├── spi.rs │ │ ├── stepper.rs │ │ ├── uart.rs │ │ └── ws2812.rs │ ├── psram.rs │ ├── pwm.rs │ ├── qmi_cs1.rs │ ├── relocate.rs │ ├── reset.rs │ ├── rom_data/ │ │ ├── mod.rs │ │ ├── rp2040.rs │ │ └── rp235x.rs │ ├── rtc/ │ │ ├── conversions.rs │ │ ├── filter.rs │ │ └── mod.rs │ ├── spi.rs │ ├── spinlock.rs │ ├── spinlock_mutex.rs │ ├── time_driver.rs │ ├── trng.rs │ ├── uart/ │ │ ├── buffered.rs │ │ └── mod.rs │ ├── usb.rs │ └── watchdog.rs ├── embassy-stm32/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── build_common.rs │ └── src/ │ ├── adc/ │ │ ├── adc4.rs │ │ ├── c0.rs │ │ ├── f1.rs │ │ ├── f3.rs │ │ ├── f3_v1_1.rs │ │ ├── g4.rs │ │ ├── injected.rs │ │ ├── mod.rs │ │ ├── ringbuffered.rs │ │ ├── v1.rs │ │ ├── v2.rs │ │ ├── v3.rs │ │ ├── v4.rs │ │ └── watchdog_v1.rs │ ├── aes/ │ │ └── mod.rs │ ├── backup_sram.rs │ ├── can/ │ │ ├── bxcan/ │ │ │ ├── filter.rs │ │ │ ├── mod.rs │ │ │ └── registers.rs │ │ ├── common.rs │ │ ├── enums.rs │ │ ├── fd/ │ │ │ ├── config.rs │ │ │ ├── filter.rs │ │ │ ├── message_ram/ │ │ │ │ ├── common.rs │ │ │ │ ├── enums.rs │ │ │ │ ├── extended_filter.rs │ │ │ │ ├── generic.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── rxfifo_element.rs │ │ │ │ ├── standard_filter.rs │ │ │ │ ├── txbuffer_element.rs │ │ │ │ └── txevent_element.rs │ │ │ ├── mod.rs │ │ │ └── peripheral.rs │ │ ├── fdcan.rs │ │ ├── frame.rs │ │ ├── mod.rs │ │ └── util.rs │ ├── comp.rs │ ├── cordic/ │ │ ├── enums.rs │ │ ├── errors.rs │ │ ├── mod.rs │ │ └── utils.rs │ ├── cpu.rs │ ├── crc/ │ │ ├── mod.rs │ │ ├── v1.rs │ │ └── v2v3.rs │ ├── cryp/ │ │ └── mod.rs │ ├── dac/ │ │ └── mod.rs │ ├── dcmi.rs │ ├── dma/ │ │ ├── dma_bdma.rs │ │ ├── dmamux.rs │ │ ├── gpdma/ │ │ │ ├── linked_list.rs │ │ │ ├── mod.rs │ │ │ └── ringbuffered.rs │ │ ├── mod.rs │ │ ├── ringbuffer/ │ │ │ ├── mod.rs │ │ │ └── tests/ │ │ │ ├── mod.rs │ │ │ └── prop_test/ │ │ │ ├── mod.rs │ │ │ ├── reader.rs │ │ │ └── writer.rs │ │ ├── util.rs │ │ └── word.rs │ ├── dsihost.rs │ ├── dts/ │ │ ├── mod.rs │ │ └── tsel.rs │ ├── eth/ │ │ ├── generic_phy.rs │ │ ├── mod.rs │ │ ├── sma/ │ │ │ ├── mod.rs │ │ │ ├── v1.rs │ │ │ └── v2.rs │ │ ├── v1/ │ │ │ ├── mod.rs │ │ │ ├── rx_desc.rs │ │ │ └── tx_desc.rs │ │ └── v2/ │ │ ├── descriptors.rs │ │ └── mod.rs │ ├── executor.rs │ ├── exti/ │ │ ├── blocking.rs │ │ ├── low_level.rs │ │ └── mod.rs │ ├── flash/ │ │ ├── asynch.rs │ │ ├── c.rs │ │ ├── common.rs │ │ ├── eeprom.rs │ │ ├── f0.rs │ │ ├── f1f3.rs │ │ ├── f2.rs │ │ ├── f4.rs │ │ ├── f7.rs │ │ ├── g.rs │ │ ├── h5.rs │ │ ├── h50.rs │ │ ├── h7.rs │ │ ├── l.rs │ │ ├── mod.rs │ │ ├── other.rs │ │ ├── u0.rs │ │ └── u5.rs │ ├── fmc.rs │ ├── fmt.rs │ ├── gpio.rs │ ├── hash/ │ │ └── mod.rs │ ├── hrtim/ │ │ ├── bridge_converter.rs │ │ ├── mod.rs │ │ ├── resonant_converter.rs │ │ └── traits.rs │ ├── hsem/ │ │ └── mod.rs │ ├── hspi/ │ │ ├── enums.rs │ │ └── mod.rs │ ├── i2c/ │ │ ├── config.rs │ │ ├── mod.rs │ │ ├── v1.rs │ │ └── v2.rs │ ├── i2s.rs │ ├── ipcc.rs │ ├── lcd.rs │ ├── lib.rs │ ├── low_power.rs │ ├── lptim/ │ │ ├── channel.rs │ │ ├── mod.rs │ │ ├── pwm.rs │ │ └── timer/ │ │ ├── channel_direction.rs │ │ ├── mod.rs │ │ └── prescaler.rs │ ├── ltdc.rs │ ├── macros.rs │ ├── opamp.rs │ ├── ospi/ │ │ ├── enums.rs │ │ └── mod.rs │ ├── pka/ │ │ └── mod.rs │ ├── qspi/ │ │ ├── enums.rs │ │ └── mod.rs │ ├── rcc/ │ │ ├── bd.rs │ │ ├── c0.rs │ │ ├── f013.rs │ │ ├── f247.rs │ │ ├── g0.rs │ │ ├── g4.rs │ │ ├── h.rs │ │ ├── hsi48.rs │ │ ├── l.rs │ │ ├── mco.rs │ │ ├── mod.rs │ │ ├── n6.rs │ │ ├── u3.rs │ │ ├── u5.rs │ │ └── wba.rs │ ├── rng.rs │ ├── rtc/ │ │ ├── datetime.rs │ │ ├── low_power.rs │ │ ├── mod.rs │ │ ├── v2.rs │ │ └── v3.rs │ ├── saes/ │ │ └── mod.rs │ ├── sai/ │ │ └── mod.rs │ ├── sdmmc/ │ │ ├── mod.rs │ │ ├── sd.rs │ │ └── sdio.rs │ ├── spdifrx/ │ │ └── mod.rs │ ├── spi/ │ │ └── mod.rs │ ├── time.rs │ ├── time_driver/ │ │ ├── gp16.rs │ │ ├── lptim.rs │ │ └── mod.rs │ ├── timer/ │ │ ├── complementary_pwm.rs │ │ ├── input_capture.rs │ │ ├── low_level.rs │ │ ├── mod.rs │ │ ├── one_pulse.rs │ │ ├── pwm_input.rs │ │ ├── qei.rs │ │ ├── ringbuffered.rs │ │ └── simple_pwm.rs │ ├── tsc/ │ │ ├── acquisition_banks.rs │ │ ├── config.rs │ │ ├── errors.rs │ │ ├── io_pin.rs │ │ ├── mod.rs │ │ ├── pin_groups.rs │ │ ├── tsc.rs │ │ └── types.rs │ ├── ucpd.rs │ ├── uid.rs │ ├── usart/ │ │ ├── buffered.rs │ │ ├── mod.rs │ │ └── ringbuffered.rs │ ├── usb/ │ │ ├── mod.rs │ │ ├── otg.rs │ │ └── usb.rs │ ├── vrefbuf/ │ │ └── mod.rs │ ├── wdg/ │ │ └── mod.rs │ └── xspi/ │ ├── enums.rs │ └── mod.rs ├── embassy-stm32-wpan/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── src/ │ │ ├── lib.rs │ │ ├── wb55/ │ │ │ ├── channels.rs │ │ │ ├── cmd.rs │ │ │ ├── consts.rs │ │ │ ├── evt.rs │ │ │ ├── fmt.rs │ │ │ ├── fus.rs │ │ │ ├── lhci.rs │ │ │ ├── mac/ │ │ │ │ ├── commands.rs │ │ │ │ ├── consts.rs │ │ │ │ ├── control.rs │ │ │ │ ├── driver.rs │ │ │ │ ├── event.rs │ │ │ │ ├── indications.rs │ │ │ │ ├── macros.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── opcodes.rs │ │ │ │ ├── responses.rs │ │ │ │ ├── runner.rs │ │ │ │ └── typedefs.rs │ │ │ ├── mod.rs │ │ │ ├── shci.rs │ │ │ ├── sub/ │ │ │ │ ├── ble.rs │ │ │ │ ├── mac.rs │ │ │ │ ├── mm.rs │ │ │ │ ├── mod.rs │ │ │ │ └── sys.rs │ │ │ ├── tables.rs │ │ │ └── unsafe_linked_list.rs │ │ └── wba/ │ │ ├── RNG_INTEGRATION.md │ │ ├── bindings.rs │ │ ├── ble.rs │ │ ├── context.rs │ │ ├── error.rs │ │ ├── gap/ │ │ │ ├── advertiser.rs │ │ │ ├── connection.rs │ │ │ ├── mod.rs │ │ │ ├── scanner.rs │ │ │ └── types.rs │ │ ├── gatt/ │ │ │ ├── events.rs │ │ │ ├── mod.rs │ │ │ ├── server.rs │ │ │ └── types.rs │ │ ├── hci/ │ │ │ ├── command.rs │ │ │ ├── event.rs │ │ │ ├── host_if.rs │ │ │ ├── mod.rs │ │ │ └── types.rs │ │ ├── linklayer_plat.rs │ │ ├── ll_sys/ │ │ │ ├── ll_sys_cs.rs │ │ │ ├── ll_sys_dp_slp.rs │ │ │ ├── ll_sys_intf.rs │ │ │ ├── ll_sys_startup.rs │ │ │ ├── ll_version.rs │ │ │ └── mod.rs │ │ ├── ll_sys_if.rs │ │ ├── mac_sys_if.rs │ │ ├── mod.rs │ │ ├── power_table.rs │ │ ├── runner.rs │ │ ├── security/ │ │ │ └── mod.rs │ │ └── util_seq.rs │ ├── tl_mbox.x.in │ ├── tl_mbox_extended_wb1.x.in │ └── tl_mbox_extended_wbx5.x.in ├── embassy-sync/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── build_common.rs │ ├── src/ │ │ ├── blocking_mutex/ │ │ │ ├── mod.rs │ │ │ └── raw.rs │ │ ├── channel.rs │ │ ├── fmt.rs │ │ ├── lazy_lock.rs │ │ ├── lib.rs │ │ ├── mutex.rs │ │ ├── once_lock.rs │ │ ├── pipe.rs │ │ ├── priority_channel.rs │ │ ├── pubsub/ │ │ │ ├── mod.rs │ │ │ ├── publisher.rs │ │ │ └── subscriber.rs │ │ ├── ring_buffer.rs │ │ ├── rwlock.rs │ │ ├── semaphore.rs │ │ ├── signal.rs │ │ ├── waitqueue/ │ │ │ ├── atomic_waker.rs │ │ │ ├── atomic_waker_turbo.rs │ │ │ ├── mod.rs │ │ │ ├── multi_waker.rs │ │ │ └── waker_registration.rs │ │ ├── watch.rs │ │ └── zerocopy_channel.rs │ └── tests/ │ ├── ui/ │ │ └── sync_impl/ │ │ ├── lazy_lock_function.rs │ │ ├── lazy_lock_function.stderr │ │ ├── lazy_lock_type.rs │ │ ├── lazy_lock_type.stderr │ │ ├── once_lock.rs │ │ └── once_lock.stderr │ └── ui.rs ├── embassy-time/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── delay.rs │ ├── driver_mock.rs │ ├── driver_std.rs │ ├── driver_wasm.rs │ ├── duration.rs │ ├── fmt.rs │ ├── instant.rs │ ├── lib.rs │ └── timer.rs ├── embassy-time-driver/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── gen_tick.py │ └── src/ │ ├── lib.rs │ └── tick.rs ├── embassy-time-queue-utils/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ └── src/ │ ├── lib.rs │ ├── queue_generic.rs │ └── queue_integrated.rs ├── embassy-usb/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── gen_config.py │ └── src/ │ ├── builder.rs │ ├── class/ │ │ ├── cdc_acm.rs │ │ ├── cdc_ncm/ │ │ │ ├── embassy_net.rs │ │ │ └── mod.rs │ │ ├── cmsis_dap_v2.rs │ │ ├── dfu/ │ │ │ ├── app_mode.rs │ │ │ ├── consts.rs │ │ │ ├── dfu_mode.rs │ │ │ └── mod.rs │ │ ├── hid.rs │ │ ├── midi.rs │ │ ├── mod.rs │ │ ├── uac1/ │ │ │ ├── class_codes.rs │ │ │ ├── mod.rs │ │ │ ├── speaker.rs │ │ │ └── terminal_type.rs │ │ └── web_usb.rs │ ├── control.rs │ ├── descriptor.rs │ ├── descriptor_reader.rs │ ├── fmt.rs │ ├── lib.rs │ ├── msos.rs │ └── types.rs ├── embassy-usb-dfu/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ ├── src/ │ │ ├── application.rs │ │ ├── dfu.rs │ │ ├── fmt.rs │ │ └── lib.rs │ └── tests/ │ └── usb_dfu_test.rs ├── embassy-usb-driver/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ └── lib.rs ├── embassy-usb-logger/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ └── lib.rs ├── embassy-usb-synopsys-otg/ │ ├── CHANGELOG.md │ ├── Cargo.toml │ ├── README.md │ └── src/ │ ├── fmt.rs │ ├── lib.rs │ └── otg_v1.rs ├── examples/ │ ├── .cargo/ │ │ └── config.toml │ ├── boot/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── application/ │ │ │ ├── nrf/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── memory-bl-nrf91.x │ │ │ │ ├── memory-bl.x │ │ │ │ ├── memory-nrf91.x │ │ │ │ ├── memory.x │ │ │ │ └── src/ │ │ │ │ └── bin/ │ │ │ │ ├── a.rs │ │ │ │ └── b.rs │ │ │ ├── rp/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── memory.x │ │ │ │ └── src/ │ │ │ │ └── bin/ │ │ │ │ ├── a.rs │ │ │ │ └── b.rs │ │ │ ├── stm32f3/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── memory.x │ │ │ │ └── src/ │ │ │ │ └── bin/ │ │ │ │ ├── a.rs │ │ │ │ └── b.rs │ │ │ ├── stm32f7/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── flash-boot.sh │ │ │ │ ├── memory-bl.x │ │ │ │ ├── memory.x │ │ │ │ └── src/ │ │ │ │ └── bin/ │ │ │ │ ├── a.rs │ │ │ │ └── b.rs │ │ │ ├── stm32h7/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── flash-boot.sh │ │ │ │ ├── memory-bl.x │ │ │ │ ├── memory.x │ │ │ │ └── src/ │ │ │ │ └── bin/ │ │ │ │ ├── a.rs │ │ │ │ └── b.rs │ │ │ ├── stm32l0/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── memory.x │ │ │ │ └── src/ │ │ │ │ └── bin/ │ │ │ │ ├── a.rs │ │ │ │ └── b.rs │ │ │ ├── stm32l1/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── memory.x │ │ │ │ └── src/ │ │ │ │ └── bin/ │ │ │ │ ├── a.rs │ │ │ │ └── b.rs │ │ │ ├── stm32l4/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── memory.x │ │ │ │ └── src/ │ │ │ │ └── bin/ │ │ │ │ ├── a.rs │ │ │ │ └── b.rs │ │ │ ├── stm32wb-dfu/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── memory.x │ │ │ │ ├── secrets/ │ │ │ │ │ └── key.sec │ │ │ │ └── src/ │ │ │ │ └── main.rs │ │ │ ├── stm32wba-dfu/ │ │ │ │ ├── .cargo/ │ │ │ │ │ └── config.toml │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── build.rs │ │ │ │ ├── memory.x │ │ │ │ ├── secrets/ │ │ │ │ │ └── key.sec │ │ │ │ └── src/ │ │ │ │ └── main.rs │ │ │ └── stm32wl/ │ │ │ ├── .cargo/ │ │ │ │ └── config.toml │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── memory.x │ │ │ └── src/ │ │ │ └── bin/ │ │ │ ├── a.rs │ │ │ └── b.rs │ │ └── bootloader/ │ │ ├── nrf/ │ │ │ ├── .cargo/ │ │ │ │ └── config.toml │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── memory-bm.x │ │ │ ├── memory-s140.x │ │ │ ├── memory.x │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── rp/ │ │ │ ├── .cargo/ │ │ │ │ └── config.toml │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── memory.x │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── stm32/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── memory.x │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── stm32-dual-bank/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── memory.x │ │ │ └── src/ │ │ │ └── main.rs │ │ ├── stm32wb-dfu/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── memory.x │ │ │ ├── secrets/ │ │ │ │ └── key.pub.short │ │ │ └── src/ │ │ │ └── main.rs │ │ └── stm32wba-dfu/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ ├── secrets/ │ │ │ └── key.pub.short │ │ └── src/ │ │ └── main.rs │ ├── lpc55s69/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky_embassy_time.rs │ │ ├── blinky_nop.rs │ │ ├── button_executor.rs │ │ ├── pwm.rs │ │ ├── usart_async.rs │ │ └── usart_blocking.rs │ ├── mcxa2xx/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── adc-async.rs │ │ ├── adc-blocking.rs │ │ ├── adc-temperature.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_async.rs │ │ ├── capture.rs │ │ ├── cdog.rs │ │ ├── clkout.rs │ │ ├── cpu-clocks.rs │ │ ├── crc.rs │ │ ├── dma_mem_to_mem.rs │ │ ├── dma_scatter_gather_builder.rs │ │ ├── flash_iap.rs │ │ ├── hello.rs │ │ ├── i2c-async.rs │ │ ├── i2c-blocking.rs │ │ ├── i2c-dma.rs │ │ ├── i2c-scan-blocking.rs │ │ ├── i2c-target-async.rs │ │ ├── i2c-target-blocking.rs │ │ ├── i2c-target-dma.rs │ │ ├── i3c-async.rs │ │ ├── i3c-blocking.rs │ │ ├── i3c-dma.rs │ │ ├── lpuart_bbq_rx.rs │ │ ├── lpuart_bbq_tx.rs │ │ ├── lpuart_buffered.rs │ │ ├── lpuart_dma.rs │ │ ├── lpuart_polling.rs │ │ ├── lpuart_ring_buffer.rs │ │ ├── power-deepsleep-big-jump.rs │ │ ├── power-deepsleep-gating.rs │ │ ├── power-deepsleep-gpio-int.rs │ │ ├── power-deepsleep.rs │ │ ├── power-wfe-gated.rs │ │ ├── pwm.rs │ │ ├── reset-reason.rs │ │ ├── rtc_alarm.rs │ │ ├── spi-async.rs │ │ ├── spi-blocking.rs │ │ ├── spi-dma.rs │ │ ├── trng.rs │ │ ├── wwdt_interrupt.rs │ │ └── wwdt_reset.rs │ ├── mcxa5xx/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── adc-async.rs │ │ ├── adc-blocking.rs │ │ ├── adc-temperature.rs │ │ ├── blinky-firc.rs │ │ ├── blinky-sosc.rs │ │ ├── blinky-spll.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_async.rs │ │ ├── capture.rs │ │ ├── cdog.rs │ │ ├── clkout.rs │ │ ├── crc.rs │ │ ├── dma_mem_to_mem.rs │ │ ├── dma_scatter_gather_builder.rs │ │ ├── hello.rs │ │ ├── i2c-async.rs │ │ ├── i2c-blocking.rs │ │ ├── i2c-dma.rs │ │ ├── i2c-scan-blocking.rs │ │ ├── i2c-target-async.rs │ │ ├── i2c-target-blocking.rs │ │ ├── i2c-target-dma.rs │ │ ├── i3c-async.rs │ │ ├── i3c-blocking.rs │ │ ├── i3c-dma.rs │ │ ├── lpuart_bbq_rx.rs │ │ ├── lpuart_bbq_tx.rs │ │ ├── lpuart_buffered.rs │ │ ├── lpuart_dma.rs │ │ ├── lpuart_polling.rs │ │ ├── lpuart_ring_buffer.rs │ │ ├── power-deepsleep-big-jump.rs │ │ ├── power-deepsleep-gating.rs │ │ ├── power-deepsleep-gpio-int.rs │ │ ├── power-deepsleep.rs │ │ ├── power-wfe-gated.rs │ │ ├── pwm.rs │ │ ├── reset-reason.rs │ │ ├── rtc-alarm.rs │ │ ├── spi-async.rs │ │ ├── spi-blocking.rs │ │ ├── spi-dma.rs │ │ ├── trng.rs │ │ ├── wwdt_interrupt.rs │ │ └── wwdt_reset.rs │ ├── microchip/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── link_ram.x │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button-async.rs │ │ ├── button.rs │ │ ├── i2c-async.rs │ │ ├── i2c.rs │ │ ├── pwm.rs │ │ ├── uart_async.rs │ │ └── uart_blocking.rs │ ├── mimxrt1011/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ ├── bin/ │ │ │ ├── blinky.rs │ │ │ └── button.rs │ │ └── lib.rs │ ├── mimxrt1062-evk/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ ├── bin/ │ │ │ ├── blinky.rs │ │ │ └── button.rs │ │ └── lib.rs │ ├── mimxrt6/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ ├── bin/ │ │ │ ├── blinky.rs │ │ │ ├── button.rs │ │ │ ├── crc.rs │ │ │ ├── dma.rs │ │ │ ├── hello.rs │ │ │ ├── rng.rs │ │ │ ├── spi-async.rs │ │ │ ├── spi.rs │ │ │ ├── uart-async.rs │ │ │ └── uart.rs │ │ └── lib.rs │ ├── mspm0c1104/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── uart.rs │ │ └── wwdt.rs │ ├── mspm0g3507/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── i2c.rs │ │ ├── i2c_async.rs │ │ ├── i2c_target.rs │ │ ├── mathacl_ops.rs │ │ ├── uart.rs │ │ ├── uart_buffered.rs │ │ └── wwdt.rs │ ├── mspm0g3519/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── uart.rs │ │ └── wwdt.rs │ ├── mspm0g5187/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button.rs │ │ └── wwdt.rs │ ├── mspm0l1306/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── i2c.rs │ │ ├── i2c_async.rs │ │ ├── i2c_target.rs │ │ ├── uart.rs │ │ └── wwdt.rs │ ├── mspm0l2228/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── trng.rs │ │ ├── uart.rs │ │ └── wwdt.rs │ ├── nrf-rtos-trace/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── rtos_trace.rs │ ├── nrf51/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── blinky.rs │ ├── nrf52810/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── saadc_lowpower.rs │ ├── nrf52840/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── buffered_uart.rs │ │ ├── channel.rs │ │ ├── channel_sender_receiver.rs │ │ ├── egu.rs │ │ ├── ethernet_enc28j60.rs │ │ ├── executor_fairness_test.rs │ │ ├── gpiote_channel.rs │ │ ├── gpiote_port.rs │ │ ├── i2s_effect.rs │ │ ├── i2s_monitor.rs │ │ ├── i2s_waveform.rs │ │ ├── ieee802154_receive.rs │ │ ├── ieee802154_send.rs │ │ ├── manually_create_executor.rs │ │ ├── multiprio.rs │ │ ├── mutex.rs │ │ ├── nfct.rs │ │ ├── nvmc.rs │ │ ├── pdm.rs │ │ ├── pdm_continuous.rs │ │ ├── ppi.rs │ │ ├── pubsub.rs │ │ ├── pwm.rs │ │ ├── pwm_double_sequence.rs │ │ ├── pwm_sequence.rs │ │ ├── pwm_sequence_ppi.rs │ │ ├── pwm_sequence_ws2812b.rs │ │ ├── pwm_servo.rs │ │ ├── qdec.rs │ │ ├── qspi.rs │ │ ├── qspi_lowpower.rs │ │ ├── raw_spawn.rs │ │ ├── rng.rs │ │ ├── rtc.rs │ │ ├── saadc.rs │ │ ├── saadc_continuous.rs │ │ ├── self_spawn.rs │ │ ├── self_spawn_current_executor.rs │ │ ├── sixlowpan.rs │ │ ├── spim.rs │ │ ├── spis.rs │ │ ├── temp.rs │ │ ├── timer.rs │ │ ├── twim.rs │ │ ├── twim_lowpower.rs │ │ ├── twis.rs │ │ ├── uart.rs │ │ ├── uart_idle.rs │ │ ├── uart_split.rs │ │ ├── usb_ethernet.rs │ │ ├── usb_hid_keyboard.rs │ │ ├── usb_hid_mouse.rs │ │ ├── usb_serial.rs │ │ ├── usb_serial_multitask.rs │ │ ├── usb_serial_winusb.rs │ │ ├── wdt.rs │ │ └── wifi_esp_hosted.rs │ ├── nrf52840-edf/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── basic.rs │ ├── nrf52840-rtic/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── blinky.rs │ ├── nrf5340/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── cryptocell_rng.rs │ │ ├── gpiote_channel.rs │ │ ├── nrf5340dk_internal_caps.rs │ │ └── uart.rs │ ├── nrf54l15/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── buffered_uart.rs │ │ ├── gpiote_channel.rs │ │ ├── gpiote_port.rs │ │ ├── pwm.rs │ │ ├── rng.rs │ │ ├── rramc.rs │ │ ├── rramc_buffered.rs │ │ ├── saadc.rs │ │ ├── spim.rs │ │ ├── temp.rs │ │ ├── timer.rs │ │ ├── twim.rs │ │ ├── twis.rs │ │ ├── uart.rs │ │ └── wdt.rs │ ├── nrf54lm20/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── gpio.rs │ │ ├── gpiote_channel.rs │ │ ├── gpiote_port.rs │ │ └── timer.rs │ ├── nrf9151/ │ │ ├── ns/ │ │ │ ├── .cargo/ │ │ │ │ └── config.toml │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ ├── build.rs │ │ │ ├── flash_tfm.sh │ │ │ ├── memory.x │ │ │ ├── src/ │ │ │ │ └── bin/ │ │ │ │ ├── blinky.rs │ │ │ │ └── uart.rs │ │ │ └── tfm.hex │ │ └── s/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── cryptocell_rng.rs │ ├── nrf9160/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── modem_tcp_client.rs │ ├── rp/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── assets/ │ │ │ └── ferris.raw │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_dma.rs │ │ ├── assign_resources.rs │ │ ├── blinky.rs │ │ ├── blinky_two_channels.rs │ │ ├── blinky_two_tasks.rs │ │ ├── button.rs │ │ ├── debounce.rs │ │ ├── ethernet_w5500_icmp.rs │ │ ├── ethernet_w5500_icmp_ping.rs │ │ ├── ethernet_w5500_multisocket.rs │ │ ├── ethernet_w5500_tcp_client.rs │ │ ├── ethernet_w5500_tcp_server.rs │ │ ├── ethernet_w5500_udp.rs │ │ ├── ethernet_w55rp20_tcp_server.rs │ │ ├── flash.rs │ │ ├── gpio_async.rs │ │ ├── gpout.rs │ │ ├── i2c_async.rs │ │ ├── i2c_async_embassy.rs │ │ ├── i2c_blocking.rs │ │ ├── i2c_slave.rs │ │ ├── interrupt.rs │ │ ├── multicore.rs │ │ ├── multiprio.rs │ │ ├── orchestrate_tasks.rs │ │ ├── overclock.rs │ │ ├── overclock_manual.rs │ │ ├── pio_async.rs │ │ ├── pio_clk.rs │ │ ├── pio_dma.rs │ │ ├── pio_hd44780.rs │ │ ├── pio_i2s.rs │ │ ├── pio_i2s_mclk.rs │ │ ├── pio_onewire.rs │ │ ├── pio_onewire_parasite.rs │ │ ├── pio_pwm.rs │ │ ├── pio_rotary_encoder.rs │ │ ├── pio_servo.rs │ │ ├── pio_spi.rs │ │ ├── pio_spi_async.rs │ │ ├── pio_stepper.rs │ │ ├── pio_uart.rs │ │ ├── pio_ws2812.rs │ │ ├── pwm.rs │ │ ├── pwm_input.rs │ │ ├── rosc.rs │ │ ├── rtc.rs │ │ ├── rtc_alarm.rs │ │ ├── shared_bus.rs │ │ ├── sharing.rs │ │ ├── spi.rs │ │ ├── spi_async.rs │ │ ├── spi_display.rs │ │ ├── spi_gc9a01.rs │ │ ├── spi_sdmmc.rs │ │ ├── uart.rs │ │ ├── uart_buffered_split.rs │ │ ├── uart_r503.rs │ │ ├── uart_unidir.rs │ │ ├── usb_ethernet.rs │ │ ├── usb_hid_keyboard.rs │ │ ├── usb_hid_mouse.rs │ │ ├── usb_logger.rs │ │ ├── usb_midi.rs │ │ ├── usb_raw.rs │ │ ├── usb_raw_bulk.rs │ │ ├── usb_serial.rs │ │ ├── usb_serial_with_handler.rs │ │ ├── usb_serial_with_logger.rs │ │ ├── usb_webusb.rs │ │ ├── watchdog.rs │ │ ├── wifi_ap_tcp_server.rs │ │ ├── wifi_blinky.rs │ │ ├── wifi_scan.rs │ │ ├── wifi_tcp_server.rs │ │ ├── wifi_webrequest.rs │ │ └── zerocopy.rs │ ├── rp235x/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── assets/ │ │ │ └── ferris.raw │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_dma.rs │ │ ├── aon_timer_async.rs │ │ ├── assign_resources.rs │ │ ├── blinky.rs │ │ ├── blinky_two_channels.rs │ │ ├── blinky_two_tasks.rs │ │ ├── blinky_wifi.rs │ │ ├── blinky_wifi_pico_plus_2.rs │ │ ├── button.rs │ │ ├── debounce.rs │ │ ├── ethernet_w5500_icmp.rs │ │ ├── ethernet_w5500_icmp_ping.rs │ │ ├── ethernet_w5500_multisocket.rs │ │ ├── ethernet_w5500_tcp_client.rs │ │ ├── ethernet_w5500_tcp_server.rs │ │ ├── ethernet_w5500_udp.rs │ │ ├── ethernet_w6300_udp.rs │ │ ├── flash.rs │ │ ├── gpio_async.rs │ │ ├── gpout.rs │ │ ├── i2c_async.rs │ │ ├── i2c_async_embassy.rs │ │ ├── i2c_blocking.rs │ │ ├── i2c_slave.rs │ │ ├── interrupt.rs │ │ ├── multicore.rs │ │ ├── multicore_stack_overflow.rs │ │ ├── multiprio.rs │ │ ├── otp.rs │ │ ├── overclock.rs │ │ ├── pio_async.rs │ │ ├── pio_dma.rs │ │ ├── pio_hd44780.rs │ │ ├── pio_i2s.rs │ │ ├── pio_i2s_rx.rs │ │ ├── pio_onewire.rs │ │ ├── pio_onewire_parasite.rs │ │ ├── pio_pwm.rs │ │ ├── pio_rotary_encoder.rs │ │ ├── pio_rotary_encoder_rxf.rs │ │ ├── pio_servo.rs │ │ ├── pio_stepper.rs │ │ ├── pio_uart.rs │ │ ├── pio_ws2812.rs │ │ ├── psram.rs │ │ ├── pwm.rs │ │ ├── pwm_input.rs │ │ ├── pwm_tb6612fng_motor_driver.rs │ │ ├── rosc.rs │ │ ├── shared_bus.rs │ │ ├── sharing.rs │ │ ├── spi.rs │ │ ├── spi_async.rs │ │ ├── spi_display.rs │ │ ├── spi_sdmmc.rs │ │ ├── trng.rs │ │ ├── uart.rs │ │ ├── uart_buffered_split.rs │ │ ├── uart_r503.rs │ │ ├── uart_unidir.rs │ │ ├── usb_hid_keyboard.rs │ │ ├── usb_webusb.rs │ │ ├── watchdog.rs │ │ └── zerocopy.rs │ ├── std/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── src/ │ │ │ ├── bin/ │ │ │ │ ├── net.rs │ │ │ │ ├── net_dns.rs │ │ │ │ ├── net_ppp.rs │ │ │ │ ├── net_udp.rs │ │ │ │ ├── serial.rs │ │ │ │ ├── tcp_accept.rs │ │ │ │ ├── tick.rs │ │ │ │ └── tick_cancel.rs │ │ │ └── serial_port.rs │ │ └── tap.sh │ ├── stm32c0/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_ring_buffered_timer.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ └── rtc.rs │ ├── stm32f0/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc-watchdog.rs │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── button_controlled_blink.rs │ │ ├── button_exti.rs │ │ ├── hello.rs │ │ ├── i2c_master.rs │ │ ├── i2c_slave_async.rs │ │ ├── i2c_slave_blocking.rs │ │ ├── multiprio.rs │ │ └── wdg.rs │ ├── stm32f072/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ └── i2c_loopback_test_async.rs │ ├── stm32f1/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── can.rs │ │ ├── hello.rs │ │ ├── input_capture.rs │ │ ├── pwm_input.rs │ │ └── usb_serial.rs │ ├── stm32f105/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ └── usb_serial.rs │ ├── stm32f107/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ └── eth.rs │ ├── stm32f2/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── pll.rs │ ├── stm32f3/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_events.rs │ │ ├── button_exti.rs │ │ ├── flash.rs │ │ ├── hello.rs │ │ ├── multiprio.rs │ │ ├── spi_dma.rs │ │ ├── tsc_blocking.rs │ │ ├── tsc_multipin.rs │ │ ├── usart_dma.rs │ │ └── usb_serial.rs │ ├── stm32f334/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── button.rs │ │ ├── hello.rs │ │ ├── hrtim.rs │ │ ├── opamp.rs │ │ └── pwm.rs │ ├── stm32f4/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_dma.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ ├── can.rs │ │ ├── dac.rs │ │ ├── eth.rs │ │ ├── eth_compliance_test.rs │ │ ├── eth_w5500.rs │ │ ├── flash.rs │ │ ├── flash_async.rs │ │ ├── hello.rs │ │ ├── i2c.rs │ │ ├── i2c_async.rs │ │ ├── i2c_comparison.rs │ │ ├── i2c_master_test_blocking.rs │ │ ├── i2c_slave_async.rs │ │ ├── i2c_slave_blocking.rs │ │ ├── i2s_dma.rs │ │ ├── input_capture.rs │ │ ├── mco.rs │ │ ├── multiprio.rs │ │ ├── pwm.rs │ │ ├── pwm_complementary.rs │ │ ├── pwm_input.rs │ │ ├── rtc.rs │ │ ├── sdmmc.rs │ │ ├── spi.rs │ │ ├── spi_dma.rs │ │ ├── usart.rs │ │ ├── usart_buffered.rs │ │ ├── usart_dma.rs │ │ ├── usb_ethernet.rs │ │ ├── usb_hid_keyboard.rs │ │ ├── usb_hid_mouse.rs │ │ ├── usb_raw.rs │ │ ├── usb_serial.rs │ │ ├── usb_uac_speaker.rs │ │ ├── wdt.rs │ │ ├── ws2812_pwm.rs │ │ └── ws2812_spi.rs │ ├── stm32f401/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ └── i2c_loopback_test_async.rs │ ├── stm32f469/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ └── dsi_bsp.rs │ ├── stm32f7/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ ├── can.rs │ │ ├── cryp.rs │ │ ├── eth.rs │ │ ├── flash.rs │ │ ├── hash.rs │ │ ├── hello.rs │ │ ├── pwm.rs │ │ ├── pwm_ringbuffer.rs │ │ ├── qspi.rs │ │ ├── sdmmc.rs │ │ ├── usart_dma.rs │ │ └── usb_serial.rs │ ├── stm32g0/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_dma.rs │ │ ├── adc_oversampling.rs │ │ ├── adc_ring_buffered_timer.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ ├── flash.rs │ │ ├── flash_async.rs │ │ ├── hf_timer.rs │ │ ├── i2c_async.rs │ │ ├── input_capture.rs │ │ ├── onewire_ds18b20.rs │ │ ├── pwm_complementary.rs │ │ ├── pwm_input.rs │ │ ├── rtc.rs │ │ ├── spi_neopixel.rs │ │ ├── usart.rs │ │ ├── usart_buffered.rs │ │ ├── usart_dma.rs │ │ └── usb_serial.rs │ ├── stm32g4/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_differential.rs │ │ ├── adc_dma.rs │ │ ├── adc_injected_and_regular.rs │ │ ├── adc_oversampling.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ ├── can.rs │ │ ├── i2c_slave.rs │ │ ├── i2s.rs │ │ ├── pll.rs │ │ ├── pwm.rs │ │ ├── usb_c_pd.rs │ │ └── usb_serial.rs │ ├── stm32g474/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── comp.rs │ │ ├── flash_async.rs │ │ ├── hrtim.rs │ │ ├── hrtim_master.rs │ │ └── pwm_input_async.rs │ ├── stm32h5/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_dma.rs │ │ ├── backup_sram.rs │ │ ├── blinky.rs │ │ ├── button_exti.rs │ │ ├── can.rs │ │ ├── cordic.rs │ │ ├── dts.rs │ │ ├── eth.rs │ │ ├── i2c.rs │ │ ├── mco.rs │ │ ├── rng.rs │ │ ├── sai.rs │ │ ├── usart.rs │ │ ├── usart_dma.rs │ │ ├── usart_split.rs │ │ ├── usb_c_pd.rs │ │ ├── usb_serial.rs │ │ ├── usb_uac_speaker.rs │ │ └── wifi_scan.rs │ ├── stm32h7/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_dma.rs │ │ ├── blinky.rs │ │ ├── button_exti.rs │ │ ├── camera.rs │ │ ├── can.rs │ │ ├── dac.rs │ │ ├── dac_dma.rs │ │ ├── eth.rs │ │ ├── eth_client.rs │ │ ├── eth_client_mii.rs │ │ ├── flash.rs │ │ ├── flash_async.rs │ │ ├── fmc.rs │ │ ├── i2c.rs │ │ ├── i2c_shared.rs │ │ ├── low_level_timer_api.rs │ │ ├── mco.rs │ │ ├── multiprio.rs │ │ ├── pwm.rs │ │ ├── qspi_mdma.rs │ │ ├── rng.rs │ │ ├── rtc.rs │ │ ├── sai.rs │ │ ├── sdmmc.rs │ │ ├── signal.rs │ │ ├── spi.rs │ │ ├── spi_bdma.rs │ │ ├── spi_dma.rs │ │ ├── usart.rs │ │ ├── usart_dma.rs │ │ ├── usart_split.rs │ │ ├── usb_serial.rs │ │ └── wdg.rs │ ├── stm32h723/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── spdifrx.rs │ ├── stm32h735/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── ltdc.rs │ ├── stm32h742/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ └── qspi.rs │ ├── stm32h755cm4/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── intercore.rs │ ├── stm32h755cm7/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── intercore.rs │ ├── stm32h7b0/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── ospi_memory_mapped.rs │ ├── stm32h7rs/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button_exti.rs │ │ ├── can.rs │ │ ├── eth.rs │ │ ├── i2c.rs │ │ ├── mco.rs │ │ ├── multiprio.rs │ │ ├── rng.rs │ │ ├── rtc.rs │ │ ├── signal.rs │ │ ├── spi.rs │ │ ├── spi_dma.rs │ │ ├── usart.rs │ │ ├── usart_dma.rs │ │ ├── usart_split.rs │ │ ├── usb_serial.rs │ │ └── xspi_memory_mapped.rs │ ├── stm32l0/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ ├── dds.rs │ │ ├── eeprom.rs │ │ ├── flash.rs │ │ ├── raw_spawn.rs │ │ ├── spi.rs │ │ ├── tsc_async.rs │ │ ├── tsc_blocking.rs │ │ ├── tsc_multipin.rs │ │ ├── usart_dma.rs │ │ ├── usart_irq.rs │ │ └── usb_serial.rs │ ├── stm32l1/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── eeprom.rs │ │ ├── flash.rs │ │ ├── spi.rs │ │ ├── usart.rs │ │ └── usb_serial.rs │ ├── stm32l4/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_dma.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ ├── can.rs │ │ ├── dac.rs │ │ ├── dac_dma.rs │ │ ├── flash_async.rs │ │ ├── i2c.rs │ │ ├── i2c_blocking_async.rs │ │ ├── i2c_dma.rs │ │ ├── mco.rs │ │ ├── rng.rs │ │ ├── rtc.rs │ │ ├── spe_adin1110_http_server.rs │ │ ├── spi.rs │ │ ├── spi_blocking_async.rs │ │ ├── spi_dma.rs │ │ ├── tsc_async.rs │ │ ├── tsc_blocking.rs │ │ ├── tsc_multipin.rs │ │ ├── usart.rs │ │ ├── usart_dma.rs │ │ └── usb_serial.rs │ ├── stm32l4-rtic/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── blinky_timer_interrupt.rs │ │ └── button_exti.rs │ ├── stm32l432/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ └── qspi_mmap.rs │ ├── stm32l5/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── button_exti.rs │ │ ├── rng.rs │ │ ├── usb_ethernet.rs │ │ ├── usb_hid_mouse.rs │ │ └── usb_serial.rs │ ├── stm32l5-lp/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ └── stop.rs │ ├── stm32n6/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── crc.rs │ │ ├── hash.rs │ │ ├── xspi_flash.rs │ │ └── xspi_psram.rs │ ├── stm32u0/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ ├── crc.rs │ │ ├── dac.rs │ │ ├── flash.rs │ │ ├── i2c.rs │ │ ├── lcd.rs │ │ ├── rng.rs │ │ ├── rtc.rs │ │ ├── spi.rs │ │ ├── usart.rs │ │ ├── usb_serial.rs │ │ └── wdt.rs │ ├── stm32u3/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button_exti.rs │ │ ├── mco.rs │ │ ├── rtc.rs │ │ └── usb_serial.rs │ ├── stm32u5/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── boot.rs │ │ ├── flash.rs │ │ ├── hspi_memory_mapped.rs │ │ ├── i2c.rs │ │ ├── ltdc.rs │ │ ├── rng.rs │ │ ├── tsc.rs │ │ ├── usb_hs_serial.rs │ │ └── usb_serial.rs │ ├── stm32wb/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ ├── button_exti.rs │ │ ├── eddystone_beacon.rs │ │ ├── fus_update.rs │ │ ├── gatt_server.rs │ │ ├── mac_ffd.rs │ │ ├── mac_ffd_net.rs │ │ ├── mac_rfd.rs │ │ ├── tl_mbox.rs │ │ ├── tl_mbox_ble.rs │ │ └── tl_mbox_mac.rs │ ├── stm32wba/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_ring_buffered.rs │ │ ├── aes_cbc.rs │ │ ├── aes_ccm.rs │ │ ├── aes_ctr.rs │ │ ├── aes_ecb.rs │ │ ├── aes_gcm.rs │ │ ├── aes_gmac.rs │ │ ├── ble_advertiser.rs │ │ ├── ble_central.rs │ │ ├── ble_gatt_server.rs │ │ ├── ble_peripheral_connect.rs │ │ ├── ble_scanner.rs │ │ ├── ble_secure.rs │ │ ├── blinky.rs │ │ ├── button_exti.rs │ │ ├── device_info.rs │ │ ├── flash.rs │ │ ├── mac_ffd.rs │ │ ├── pka_ecdh.rs │ │ ├── pka_ecdsa_sign.rs │ │ ├── pka_ecdsa_verify.rs │ │ ├── pka_rsa.rs │ │ ├── pka_rsa_crt.rs │ │ ├── pka_rsa_keygen.rs │ │ ├── pwm.rs │ │ ├── rng.rs │ │ ├── rtc.rs │ │ ├── saes_ecb.rs │ │ └── saes_gcm.rs │ ├── stm32wba-lp/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── button_exti.rs │ ├── stm32wba6/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README_PCM.md │ │ ├── build.rs │ │ ├── convert_wav.py │ │ ├── convert_wav.sh │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── adc_ring_buffered.rs │ │ ├── aes_cbc.rs │ │ ├── aes_ccm.rs │ │ ├── aes_ctr.rs │ │ ├── aes_ecb.rs │ │ ├── aes_gcm.rs │ │ ├── aes_gmac.rs │ │ ├── ble_advertiser.rs │ │ ├── ble_central.rs │ │ ├── ble_gatt_server.rs │ │ ├── ble_peripheral_connect.rs │ │ ├── ble_scanner.rs │ │ ├── ble_secure.rs │ │ ├── blinky.rs │ │ ├── button_exti.rs │ │ ├── comp.rs │ │ ├── comp_window.rs │ │ ├── device_info.rs │ │ ├── flash.rs │ │ ├── mac_ffd.rs │ │ ├── pka_ecdh.rs │ │ ├── pka_ecdsa_sign.rs │ │ ├── pka_ecdsa_verify.rs │ │ ├── pka_rsa.rs │ │ ├── pka_rsa_crt.rs │ │ ├── pka_rsa_keygen.rs │ │ ├── pwm.rs │ │ ├── rng.rs │ │ ├── rtc.rs │ │ ├── saes_ecb.rs │ │ ├── saes_gcm.rs │ │ ├── sdmmc_sai.rs │ │ ├── usb_hs_serial.rs │ │ └── wwdg.rs │ ├── stm32wba6-lp/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── button_exti.rs │ ├── stm32wl/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── adc.rs │ │ ├── blinky.rs │ │ ├── button.rs │ │ ├── button_exti.rs │ │ ├── flash.rs │ │ ├── random.rs │ │ ├── rtc.rs │ │ └── uart_async.rs │ ├── stm32wl55cm0p/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── intercore.rs │ ├── stm32wl55cm0p-lp/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── intercore.rs │ ├── stm32wl55cm4/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ └── intercore.rs │ ├── stm32wl55cm4-lp/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── memory.x │ │ └── src/ │ │ └── bin/ │ │ ├── blinky.rs │ │ └── intercore.rs │ ├── stm32wle5-lp/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── build.rs │ │ ├── src/ │ │ │ └── bin/ │ │ │ ├── adc.rs │ │ │ ├── blinky.rs │ │ │ ├── button_exti.rs │ │ │ └── i2c.rs │ │ └── stm32wle5.code-workspace │ └── wasm/ │ ├── Cargo.toml │ ├── README.md │ ├── index.html │ └── src/ │ └── lib.rs ├── fmtall.sh ├── release/ │ ├── bump-dependency.sh │ └── release.toml ├── rust-toolchain-nightly.toml ├── rust-toolchain.toml ├── rustfmt.toml └── tests/ ├── link_ram_cortex_m.x ├── mcxa2xx/ │ ├── .cargo/ │ │ └── config.toml │ ├── Cargo.toml │ ├── README.md │ ├── build.rs │ ├── memory.x │ └── src/ │ └── bin/ │ ├── adc.rs │ ├── adc_compare.rs │ ├── cdog.rs │ ├── crc.rs │ ├── ctimer_capture.rs │ ├── dma.rs │ ├── gpio.rs │ ├── i2c.rs │ ├── i3c.rs │ ├── lpuart.rs │ ├── pwm.rs │ ├── rtc_alarm.rs │ ├── trng.rs │ └── wwdt_interrupt.rs ├── mspm0/ │ ├── .cargo/ │ │ └── config.toml │ ├── Cargo.toml │ ├── build.rs │ ├── memory_g3507.x │ ├── memory_g3519.x │ └── src/ │ └── bin/ │ ├── dma.rs │ ├── uart.rs │ └── uart_buffered.rs ├── nrf/ │ ├── .cargo/ │ │ └── config.toml │ ├── Cargo.toml │ ├── build.rs │ ├── gen_test.py │ ├── memory-nrf51422.x │ ├── memory-nrf52832.x │ ├── memory-nrf52833.x │ ├── memory-nrf52840.x │ ├── memory-nrf5340.x │ ├── memory-nrf9160.x │ └── src/ │ ├── bin/ │ │ ├── buffered_uart.rs │ │ ├── buffered_uart_full.rs │ │ ├── buffered_uart_halves.rs │ │ ├── buffered_uart_spam.rs │ │ ├── ethernet_enc28j60_perf.rs │ │ ├── gpio.rs │ │ ├── gpiote.rs │ │ ├── spim.rs │ │ ├── timer.rs │ │ ├── uart_halves.rs │ │ ├── uart_split.rs │ │ └── wifi_esp_hosted_perf.rs │ └── common.rs ├── perf-client/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs ├── perf-server/ │ ├── Cargo.toml │ ├── deploy.sh │ ├── perf-server.service │ └── src/ │ └── main.rs ├── riscv32/ │ ├── .cargo/ │ │ └── config.toml │ ├── Cargo.toml │ ├── build.rs │ ├── link.x │ ├── memory.x │ └── src/ │ └── bin/ │ └── empty.rs ├── rp/ │ ├── .cargo/ │ │ └── config.toml │ ├── Cargo.toml │ ├── build.rs │ ├── memory.x │ ├── readme.md │ └── src/ │ └── bin/ │ ├── adc.rs │ ├── aon_timer.rs │ ├── bootsel.rs │ ├── cyw43-perf.rs │ ├── dma_copy_async.rs │ ├── ethernet_w5100s_perf.rs │ ├── flash.rs │ ├── float.rs │ ├── gpio.rs │ ├── gpio_async.rs │ ├── gpio_multicore.rs │ ├── i2c.rs │ ├── multicore.rs │ ├── overclock.rs │ ├── pio_irq.rs │ ├── pio_multi_load.rs │ ├── pwm.rs │ ├── rtc.rs │ ├── spi.rs │ ├── spi_async.rs │ ├── spinlock_mutex_multicore.rs │ ├── timer.rs │ ├── uart.rs │ ├── uart_buffered.rs │ ├── uart_dma.rs │ └── uart_upgrade.rs ├── stm32/ │ ├── .cargo/ │ │ └── config.toml │ ├── Cargo.toml │ ├── build.rs │ ├── gen_test.py │ └── src/ │ ├── bin/ │ │ ├── adc.rs │ │ ├── afio.rs │ │ ├── can.rs │ │ ├── cordic.rs │ │ ├── cryp.rs │ │ ├── dac.rs │ │ ├── dac_l1.rs │ │ ├── eeprom.rs │ │ ├── eth.rs │ │ ├── fdcan.rs │ │ ├── gpio.rs │ │ ├── hash.rs │ │ ├── hsem.rs │ │ ├── rng.rs │ │ ├── rtc.rs │ │ ├── sdmmc.rs │ │ ├── spi.rs │ │ ├── spi_dma.rs │ │ ├── stop.rs │ │ ├── timer.rs │ │ ├── ucpd.rs │ │ ├── usart.rs │ │ ├── usart_dma.rs │ │ ├── usart_rx_ringbuffered.rs │ │ ├── wpan_ble.rs │ │ └── wpan_mac.rs │ ├── can_common.rs │ └── common.rs └── utils/ ├── Cargo.toml └── src/ └── bin/ └── saturate_serial.rs