mecha10_core/
actuator.rs

1//! Shared actuator message types
2//!
3//! This module contains common actuator command and status message types.
4
5use crate::messages::Message;
6use serde::{Deserialize, Serialize};
7
8// ============================================================================
9// Motor Types
10// ============================================================================
11
12/// Twist (velocity command) message
13#[derive(Debug, Clone, Serialize, Deserialize)]
14pub struct Twist {
15    pub linear: f32,  // m/s
16    pub angular: f32, // rad/s
17}
18
19impl Message for Twist {}
20
21/// Motor status message
22#[derive(Debug, Clone, Serialize, Deserialize)]
23pub struct MotorStatus {
24    pub timestamp: u64,
25    pub left_motor_rpm: f32,
26    pub right_motor_rpm: f32,
27    pub battery_voltage: f32,
28    pub temperature_c: f32,
29}
30
31impl Message for MotorStatus {}