Expand description
Rust no_std
, embedded_hal
board support package for the Electro-Smith Daisy platform.
§Supported boards
Currently this library supports following boards:
- Daisy Seed (codec AK4556),
seed
- Daisy Seed 1.1 (codec WM8731),
seed_1_1
- Daisy Seed 1.2 (codec PCM3060),
seed_1_2
- Daisy Patch SM (codec PCM3060),
patch_sm
Select the board by using its respective feature.
§Sampling rate
By default, the audio sampling rate is set to 48 kHz. This can be increased to
96 kHz by enabling the sampling_rate_96khz
feature.
§API stability
I am still trying to figure out a good API for the project. Expect it to change.
To mitigate breakage of your code on library update, use macros defined under
board.rs
to initialize resources whenever possible.
§HAL compatibility
This library is closely tied to stm32h7xx-hal.
Make sure to use compatible versions in your Cargo.toml
.
Daisy | HAL |
---|---|
0.9 | 0.15 |
0.8 | 0.14 |
0.2 -0.7 | 0.12 |
0.1 | 0.11 |
§Usage
See the examples/ directory to find usage examples:
make flash WHAT=blinky BOARD=seed_1_1
Re-exports§
pub use board::Board;
pub use stm32h7xx_hal as hal;
Modules§
- Interrupt-driven access to the audio interface.
- Top-level abstraction of the board used to split out its sub-interfaces.
- Configuration of the onboard clock to accomodate for typical usage focused on high-performance audio processing.
- Basic driver for IS25LP064 providing access to the on-board flash storage.
- Simple abstraction of the on-board status LED.
- Peripheral access API for STM32H743 microcontrollers (generated using svd2rust v0.24.1 ( ))
- Mapping of both internal and external pins.
- Configuration of and access to the on-board SDRAM memory.
Macros§
- Configure clocks and retrieve a CCDR handle.
- Configure audio codec and return its handle.
- Configure flash storage and retrieve a handle to it.
- Retrieve access to all GPIO for external pins and on-board peripherals.
- Allow access to the on-board LED.
- Configure SDRAM memory and retrieve its handle.