Socket
Book a DemoInstallSign in
Socket

a121-rs

Package Overview
Dependencies
Maintainers
0
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

a121-rs

0.1.4
Source
Cargo
Version published
Maintainers
0
Created
Source

a121-rs

docs.rs crates.io crates.io

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.

Status

Being maintained but definitely looking for assistance

Features

a121-rs comes with a host of features designed to make working with the A121 sensor as straightforward as possible:

  • No Standard Library Dependencies: Fully compatible with no_std for embedded systems use.
  • Embedded-HAL Async: Utilizes asynchronous traits from embedded-hal for non-blocking sensor operation.
  • Configurable: Provides a flexible API to configure the radar sensor for various measurement modes and parameters.
  • Examples Provided: Includes examples for popular hardware platforms like ESP32 and STM32.

Supported Operating Modes

  • Distance Measurement: Configure the radar for precise distance measurements to objects.
  • Presence Detection: Detect the presence of objects or people in a configured detection zone. (Soon)

Dependencies

The following dependencies are required to use a121-rs:

  • Acconeer A121 Static Library (and detector libraries for distance and presence detection if the feature is enabled)
  • 'arm-none-eabi-gcc (GNU Arm Embedded Toolchain 9-2020-q2-update) 9.3.1 20200408' to build the C wrapper for the stm32 examples
  • esp toolschains to build the esp examples, install via espup (https://github.com/esp-rs/espup)

Supported Targets

Supported platforms depend on the availability of the Acconeer A121 Static Library. Currently, the following targets are supported:

  • arm-none-eabihf (gcc, armcc, armclang)
  • esp xtensa and riscv

Getting Started

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 flags

featuredescription
distanceEnable distance measurement module
presenceEnable presence detection module (coming soon)
libmUse libm crate for floating point operations
nightly-loggerIf the C wrapper for logging does not compile with stable rust, enable this feature to use nightly rust with a custom logger

Examples

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:

  • Add the static libraries (.a) to the acc folder, you can request these from Acconeer
  • Run the export-esp.sh script to bring riscv32-esp-elf-gcc into your path (as generated by espup)
  • Set two environment variables:
    • 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)

Development and Contribution

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.

License

a121-rs is distributed under the MIT License. See LICENSE for more information.

FAQs

Package last updated on 27 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.