Crates.io | py32-hal |
lib.rs | py32-hal |
version | |
source | src |
created_at | 2024-03-12 13:11:22.753218 |
updated_at | 2024-11-06 08:39:58.743251 |
description | HAL and Embassy support for the Py32 family of microcontrollers |
homepage | https://github.com/py32-rs/py32-hal |
repository | https://github.com/py32-rs/py32-hal |
max_upload_size | |
id | 1170613 |
Cargo.toml error: | TOML parse error at line 21, column 1 | 21 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
Note This project is under development. While it's usable for experimentation and testing, it may not be fully stable for production environments. We welcome user feedback and encourage reporting any issues you encounter to help improve the hal crate.
This HAL crates is the Embassy framework driver for Puya microcontrollers.
This HAL crates uses the metapac approach to support multiple chips in the same crate.
The metapac is maintained in the py32-rs/py32-data repository, published as a crate py32-metapac
.
Keypoints:
Currently, supported chips are listed in Cargo.toml
as feature flags.
Supported chip flags: py32f030f16, py32f030k28, More is coming...
others should work if you are careful as most peripherals are similar enough.In fact, the IPs of peripherals in different PY32 series may be consistent. Moreover, some series use the same die, so it might not require much work.
For a full list of chip capabilities and peripherals, check the py32-data repository.
Family | F002B/L020/F001 | F030/F003/F002A | F040/F07x/MD410 | F403 |
---|---|---|---|---|
Embassy | ✅ | |||
RCC | ✅ | |||
GPIO | ✅ | |||
INTERRUPT | ✅ | |||
DMA | N/A | |||
EXTI | ||||
USART | ||||
I2C* | ||||
SPI* | ||||
ADC* | ✅ | |||
RTC | ||||
Timer(PWM) | ✅ | |||
USB/OTG | N/A | N/A |
*
marks the async driverToo many...
This project is developed with a recent nightly version of Rust compiler. And is expected to work with beta versions of Rust.
Feel free to change this if you did some testing with some version of Rust.
All kinds of contributions are welcome.
This project is licensed under the MIT or Apache-2.0 license, at your option.