blob: 07f9d7d7e37caa70252b8978ce2267c2418a12d3 [file] [log] [blame]
// Licensed under the Apache-2.0 license
//! Blocking (synchronous) HAL traits for OpenPRoT
//!
//! This crate provides a blocking (synchronous) hardware abstraction layer (HAL) for
//! OpenPRoT-compliant platforms. It includes platform-specific modules such as reset
//! control and re-exports traits from `embedded-hal` 1.0 for common hardware interfaces
//! like SPI, I2C, GPIO, and delays.
//!
//! The goal is to offer a unified, safe, and no_std-compatible interface for embedded
//! development across multiple chip families.
#![no_std]
#![forbid(unsafe_code)]
#![deny(missing_docs)]
/// Cryptographic digest operations (hashing)
pub mod digest;
/// ECDSA digital signature operations
pub mod ecdsa;
/// Gpio port module
pub mod gpio_port;
/// I2C target device operations
pub mod i2c_target;
/// Message Authentication Code (MAC) traits and implementations
pub mod mac;
/// Reset and clocking traits for OpenPRoT HAL
pub mod system_control;
// Re-export embedded-hal 1.0 traits
pub use embedded_hal::delay::DelayNs;
pub use embedded_hal::digital::{InputPin, OutputPin, StatefulOutputPin};
pub use embedded_hal::i2c::{I2c, SevenBitAddress, TenBitAddress};
pub use embedded_hal::spi::{SpiBus, SpiDevice};