#[non_exhaustive]pub struct QueryFormat {Show 21 fields
pub mode: Resolution,
pub position: Resolution,
pub velocity: Resolution,
pub torque: Resolution,
pub q_current: Resolution,
pub d_current: Resolution,
pub abs_position: Resolution,
pub power: Resolution,
pub motor_temperature: Resolution,
pub trajectory_complete: Resolution,
pub home_state: Resolution,
pub voltage: Resolution,
pub temperature: Resolution,
pub fault: Resolution,
pub aux1_gpio: Resolution,
pub aux2_gpio: Resolution,
pub aux1_pwm_input_period_us: Resolution,
pub aux1_pwm_input_duty_cycle: Resolution,
pub aux2_pwm_input_period_us: Resolution,
pub aux2_pwm_input_duty_cycle: Resolution,
pub extra: [(u16, Resolution); 16],
}Expand description
Format configuration for queries.
Specifies which registers to query and at what resolution.
Setting a field to Resolution::Ignore means that register will not be queried.
§Examples
use moteus_protocol::Resolution;
use moteus_protocol::query::QueryFormat;
// Default format queries position, velocity, torque, and q_current
let default = QueryFormat::default();
// Comprehensive format includes all standard registers
let full = QueryFormat::comprehensive();
// Or customize individual registers
let mut custom = QueryFormat::default();
custom.abs_position = Resolution::Float;
custom.voltage = Resolution::Int16;Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.mode: Resolution§position: Resolution§velocity: Resolution§torque: Resolution§q_current: Resolution§d_current: Resolution§abs_position: Resolution§power: Resolution§motor_temperature: Resolution§trajectory_complete: Resolution§home_state: Resolution§voltage: Resolution§temperature: Resolution§fault: Resolution§aux1_gpio: Resolution§aux2_gpio: Resolution§aux1_pwm_input_period_us: Resolution§aux1_pwm_input_duty_cycle: Resolution§aux2_pwm_input_period_us: Resolution§aux2_pwm_input_duty_cycle: Resolution§extra: [(u16, Resolution); 16]Extra registers to query, as (register_number, resolution) pairs.
Entries with Resolution::Ignore are unused. Active entries must be
sorted by register number (maintained by add_extra).
Implementations§
Source§impl QueryFormat
impl QueryFormat
Sourcepub fn minimal() -> QueryFormat
pub fn minimal() -> QueryFormat
Creates a minimal query format (mode, position, velocity, torque only).
Sourcepub fn comprehensive() -> QueryFormat
pub fn comprehensive() -> QueryFormat
Creates a comprehensive query format with all common fields.
Sourcepub fn extra_count(&self) -> usize
pub fn extra_count(&self) -> usize
Returns the number of active extra register entries.
Sourcepub fn add_extra(&mut self, register: u16, resolution: Resolution)
pub fn add_extra(&mut self, register: u16, resolution: Resolution)
Adds an extra register to query.
Sourcepub fn serialize(&self, frame: &mut CanFdFrame) -> u8
pub fn serialize(&self, frame: &mut CanFdFrame) -> u8
Serializes the query to a CAN frame and returns expected reply size.
Trait Implementations§
Source§impl Clone for QueryFormat
impl Clone for QueryFormat
Source§fn clone(&self) -> QueryFormat
fn clone(&self) -> QueryFormat
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for QueryFormat
impl Debug for QueryFormat
Source§impl Default for QueryFormat
impl Default for QueryFormat
Source§fn default() -> QueryFormat
fn default() -> QueryFormat
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for QueryFormat
impl RefUnwindSafe for QueryFormat
impl Send for QueryFormat
impl Sync for QueryFormat
impl Unpin for QueryFormat
impl UnsafeUnpin for QueryFormat
impl UnwindSafe for QueryFormat
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CommandExt for T
impl<T> CommandExt for T
Source§fn with_query(self, format: QueryFormat) -> WithQuery<Self>
fn with_query(self, format: QueryFormat) -> WithQuery<Self>
Attaches a query format override to this command.