Expand description
§FEAGI HAL
Hardware Abstraction Layer (HAL) for FEAGI embedded neural networks. Platform abstraction and implementations for embedded systems.
This crate provides:
- HAL traits (
halmodule) - Platform-agnostic hardware abstractions - Platform implementations (
platformsmodule) - Concrete implementations for ESP32, Arduino, STM32, etc.
§Usage
§Advanced Users (Direct HAL Usage)
use feagi_hal::prelude::*;
use feagi_npu_runtime::embedded::{NeuronArray, SynapseArray};
use feagi_npu_neural::types::INT8Value;
fn main() -> ! {
let platform = Esp32Platform::init().expect("Failed to init");
let mut neurons = NeuronArray::<INT8Value, 1000>::new();
let mut synapses = SynapseArray::<5000>::new();
// Custom network topology
// Custom burst loop
loop {
neurons.process_burst(&synapses);
}
}§SDK Users
See feagi-nano crate for high-level SDK with NetworkBuilder, templates, etc.
§Feature Flags
Platforms are selected via feature flags:
esp32- ESP32, ESP32-S3, ESP32-C3 supportarduino-due- Arduino Due support (future)stm32f4- STM32F4 series support (future)hailo- Hailo-8 neural accelerator support (future)
Re-exports§
pub use hal::AcceleratorCapabilities;pub use hal::BluetoothProvider;pub use hal::ConnectionStatus;pub use hal::GpioProvider;pub use hal::LogLevel;pub use hal::Logger;pub use hal::NeuralAccelerator;pub use hal::Platform;pub use hal::SerialIO;pub use hal::TimeProvider;pub use hal::UsbCdcProvider;pub use hal::UsbConnectionStatus;pub use transports::Command;pub use transports::PacketCommand;pub use transports::Protocol;
Modules§
- bluetooth
- Bluetooth Low Energy protocol and abstractions Bluetooth Low Energy (BLE) support for FEAGI embedded systems
- hal
- Hardware abstraction traits shared by all platforms.
- platforms
- Concrete platform implementations (ESP32, STM32, etc.).
- prelude
- Prelude module for convenient imports
- transports
- Transport layer (protocol that works with BLE, USB CDC, UART, etc.) Transport Layer for FEAGI Communication
Structs§
- INT8
Value - INT8 quantized value for neural computations
- Neuron
Array - Fixed-size neuron array for embedded systems
- Synapse
Array - Fixed-size synapse array for embedded systems
Constants§
- VERSION
- Version information
Traits§
- Neural
Value - Trait for neural computation values
Functions§
- version
- Get library version