agentic_robotics_embedded/
lib.rs

1//! ROS3 Embedded Systems Support
2//!
3//! Provides support for embedded systems using Embassy and RTIC
4
5use anyhow::Result;
6
7/// Embedded task priority
8#[derive(Debug, Clone, Copy, PartialEq, Eq)]
9pub enum EmbeddedPriority {
10    Low = 0,
11    Normal = 1,
12    High = 2,
13    Critical = 3,
14}
15
16/// Embedded system configuration
17#[derive(Debug, Clone)]
18pub struct EmbeddedConfig {
19    pub tick_rate_hz: u32,
20    pub stack_size: usize,
21}
22
23impl Default for EmbeddedConfig {
24    fn default() -> Self {
25        Self {
26            tick_rate_hz: 1000,
27            stack_size: 4096,
28        }
29    }
30}
31
32#[cfg(test)]
33mod tests {
34    use super::*;
35
36    #[test]
37    fn test_embedded_config() {
38        let config = EmbeddedConfig::default();
39        assert_eq!(config.tick_rate_hz, 1000);
40        assert_eq!(config.stack_size, 4096);
41    }
42}