Crate rp235x_hal

source
Expand description

HAL for the Raspberry Pi RP235x microcontrollers

This is an implementation of the embedded-hal traits for the RP235x microcontrollers

NOTE This HAL is still under active development. This API will remain volatile until 1.0.0

§Crate features

  • critical-section-impl - critical section that is safe for multicore use
  • defmt - Implement defmt::Format for several types.
  • embedded_hal_1 - Support alpha release of embedded-hal
  • rom-func-cache - Memoize(cache) ROM function pointers on first use to improve performance
  • rt - Minimal startup / runtime for Cortex-M microcontrollers
  • rtic-monotonic - Implement rtic_monotonic::Monotonic based on the RP2350 timer peripheral
  • i2c-write-iter - Implement i2c_write_iter traits for I2C<_, _, Controller>.
  • binary-info - Include a static variable containing picotool compatible binary info.

Re-exports§

Modules§

  • Analog-Digital Converter (ADC)
  • Portable in-line assembly
  • Commonly used in async implementations.
  • Support for the RP235x Boot ROM’s “Block” structures
  • Clocks (CLOCKS)
  • Double-Co-Pro Support
  • Direct memory access (DMA).
  • General Purpose Input and Output (GPIO)
  • Inter-Integrated Circuit (I2C) bus
  • Low Power Oscillator (ROSC)
  • Multicore support
  • Interface to the RP2350’s One Time Programmable Memory
  • Programmable IO (PIO)
  • Phase-Locked Loops (PLL)
  • POWMAN Support
  • Prelude
  • Pulse Width Modulation (PWM)
  • Functions for rebooting the chip using the ROM.
  • Subsystem Resets
  • Functions and data from the RPI Bootrom.
  • Ring Oscillator (ROSC)
  • Single Cycle Input and Output (SIO)
  • Serial Peripheral Interface (SPI)
  • Timer Peripheral
  • Module supporting type-level programming
  • Universal Asynchronous Receiver Transmitter (UART)
  • Universal Serial Bus (USB)
  • Interrupt vector table utilities
  • Watchdog
  • Crystal Oscillator (XOSC)

Macros§

  • Helper macro to give meaningful names to GPIO pins
  • Create a static variable which we can grab a mutable reference to exactly once.

Functions§

  • Halt the rp235x.
  • Trigger full reset of the rp235x.

Attribute Macros§

  • Called by the rp235x-specific entry macro
  • Attribute to declare the entry point of the program