Crates.io | a121-rs |
lib.rs | a121-rs |
version | 0.1.4 |
source | src |
created_at | 2024-03-11 12:25:11.079825 |
updated_at | 2024-10-27 17:11:51.945074 |
description | Rust driver for the Acconeer A121 radar sensor |
homepage | |
repository | https://github.com/Ragarnoy/a121-rs |
max_upload_size | |
id | 1169413 |
size | 127,389 |
a121-rs is a Rust library providing a high-level abstraction for interfacing with the Acconeer A121 V-Band radar sensor. Designed for use in embedded systems, it offers asynchronous operation through embedded-hal traits, making it a perfect fit for no_std environments.
a121-rs aims to simplify the development process for applications requiring accurate distance measurements and presence detection, leveraging the unique capabilities of the A121 radar sensor.
Being maintained but definitely looking for assistance
a121-rs comes with a host of features designed to make working with the A121 sensor as straightforward as possible:
no_std
for embedded systems use.embedded-hal
for non-blocking sensor operation.The following dependencies are required to use a121-rs:
Supported platforms depend on the availability of the Acconeer A121 Static Library. Currently, the following targets are supported:
To include a121-rs in your project, add the following to your Cargo.toml
:
[dependencies]
a121-rs = "0.1"
The static library expects implementations of math functions like sqrt
and sin
to be available.
If you are using a platform that does not provide these functions, you can enable the libm
feature to use the libm
crate for floating point operations
See the documentation for detailed usage instructions and examples.
feature | description |
---|---|
distance | Enable distance measurement module |
presence | Enable presence detection module (coming soon) |
libm | Use libm crate for floating point operations |
nightly-logger | If the C wrapper for logging does not compile with stable rust, enable this feature to use nightly rust with a custom logger |
Check out the examples/
directory for demonstrations on how to use a121-rs with various microcontroller units.
These examples cover basic setups and common use cases to help you get started quickly.
Note: For the esp32c6 example, you need to do additional steps before you can compile successfully:
riscv32-esp-elf-gcc
into your path (as generated by espup)CROSS_COMPILE="riscv32-esp-elf"
CPATH="/home/<user>/.rustup/toolchains/esp/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/riscv32-esp-elf/include"
(replace <user>
with your username and find the specific version on your system)
Contributions to a121-rs are welcome! Whether it's adding new features, fixing bugs, or improving documentation, feel free to open issues and submit pull requests.
a121-rs is distributed under the MIT License. See LICENSE for more information.