mecha10-core 0.6.2

Mecha10 core runtime and foundational types
Documentation
//! Shared actuator message types
//!
//! This module contains common actuator command and status message types.

use crate::messages::Message;
use serde::{Deserialize, Serialize};

// ============================================================================
// Motor Types
// ============================================================================

/// Twist (velocity command) message
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Twist {
    pub linear: f32,  // m/s
    pub angular: f32, // rad/s
}

impl Message for Twist {}

/// Motor status message
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MotorStatus {
    pub timestamp: u64,
    pub left_motor_rpm: f32,
    pub right_motor_rpm: f32,
    pub battery_voltage: f32,
    pub temperature_c: f32,
}

impl Message for MotorStatus {}