Squashed 'vendor/ruvector/' content from commit b64c2172

git-subtree-dir: vendor/ruvector
git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
This commit is contained in:
ruv
2026-02-28 14:39:40 -05:00
commit d803bfe2b1
7854 changed files with 3522914 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
[package]
name = "agentic-robotics-embedded"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
description.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"
[dependencies]
agentic-robotics-core = { path = "../agentic-robotics-core", version = "0.1.1" }
serde = { workspace = true }
anyhow = { workspace = true }
thiserror = { workspace = true }
# Embedded-specific dependencies (optional for non-embedded builds)
# embassy-executor = { version = "0.7", optional = true }
# rtic = { version = "2.1", optional = true }
[features]
default = []
embassy = []
rtic = []

View File

@@ -0,0 +1,54 @@
# agentic-robotics-embedded
[![Crates.io](https://img.shields.io/crates/v/agentic-robotics-embedded.svg)](https://crates.io/crates/agentic-robotics-embedded)
[![Documentation](https://docs.rs/agentic-robotics-embedded/badge.svg)](https://docs.rs/agentic-robotics-embedded)
[![License](https://img.shields.io/badge/license-MIT%2FApache--2.0-blue.svg)](../../LICENSE)
**Embedded systems support for Agentic Robotics**
Part of the [Agentic Robotics](https://github.com/ruvnet/vibecast) framework - high-performance robotics middleware with ROS2 compatibility.
## Features
- 🔌 **No-std compatible**: Run on bare-metal embedded systems
-**RTIC integration**: Real-Time Interrupt-driven Concurrency
- 🚀 **Embassy support**: Modern async/await for embedded
- 💾 **Minimal footprint**: < 50KB code size
- 🎯 **Zero-allocation**: Static memory allocation
- 🔋 **Low power**: Optimized for battery-powered robots
## Installation
```toml
[dependencies]
agentic-robotics-core = { version = "0.1.0", default-features = false }
agentic-robotics-embedded = "0.1.0"
```
## Supported Platforms
| Platform | Status | Framework | Example |
|----------|--------|-----------|---------|
| **STM32** | ✅ Supported | RTIC, Embassy | STM32F4, STM32H7 |
| **ESP32** | ✅ Supported | Embassy | ESP32-C3, ESP32-S3 |
| **nRF** | ✅ Supported | Embassy | nRF52, nRF53 |
| **RP2040** | ✅ Supported | Embassy | Raspberry Pi Pico |
## License
Licensed under either of:
- Apache License, Version 2.0 ([LICENSE-APACHE](../../LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT License ([LICENSE-MIT](../../LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
## Links
- **Homepage**: [ruv.io](https://ruv.io)
- **Documentation**: [docs.rs/agentic-robotics-embedded](https://docs.rs/agentic-robotics-embedded)
- **Repository**: [github.com/ruvnet/vibecast](https://github.com/ruvnet/vibecast)
---
**Part of the Agentic Robotics framework** • Built with ❤️ by the Agentic Robotics Team

View File

@@ -0,0 +1,41 @@
//! ROS3 Embedded Systems Support
//!
//! Provides support for embedded systems using Embassy and RTIC
/// Embedded task priority
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum EmbeddedPriority {
Low = 0,
Normal = 1,
High = 2,
Critical = 3,
}
/// Embedded system configuration
#[derive(Debug, Clone)]
pub struct EmbeddedConfig {
pub tick_rate_hz: u32,
pub stack_size: usize,
}
impl Default for EmbeddedConfig {
fn default() -> Self {
Self {
tick_rate_hz: 1000,
stack_size: 4096,
}
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_embedded_config() {
let config = EmbeddedConfig::default();
assert_eq!(config.tick_rate_hz, 1000);
assert_eq!(config.stack_size, 4096);
}
}