Skip to main content

Module hal

Module hal 

Source
Expand description

Hardware Abstraction Layer (HAL) the driver depends on.

Concrete backends (RP2040, STM32, host-side mock, etc.) implement AteccHal. The driver itself never touches a register directly. Every external action (I2C transfer, GPIO toggle, time delay) is mediated through this trait.

The trait is async because polling an ATECC608B for a Sign command may take up to 220 ms. Doing this synchronously would starve other Embassy tasks (USB, button handling, LED animation). The same trait can be wired up to a non-Embassy executor as long as it understands core::future::Future.

Traitsยง

AteccHal
Hardware operations the driver needs.