#[non_exhaustive]pub struct QueryResult {Show 21 fields
pub mode: Mode,
pub position: f32,
pub velocity: f32,
pub torque: f32,
pub q_current: f32,
pub d_current: f32,
pub abs_position: f32,
pub power: f32,
pub motor_temperature: f32,
pub trajectory_complete: bool,
pub home_state: HomeState,
pub voltage: f32,
pub temperature: f32,
pub fault: i8,
pub aux1_gpio: i8,
pub aux2_gpio: i8,
pub aux1_pwm_input_period_us: i32,
pub aux1_pwm_input_duty_cycle: f32,
pub aux2_pwm_input_period_us: i32,
pub aux2_pwm_input_duty_cycle: f32,
pub extra: [Option<ExtraValue>; 16],
}Expand description
Result of parsing a query response.
§Examples
use moteus_protocol::CanFdFrame;
use moteus_protocol::query::QueryResult;
// After receiving a response frame from the device...
fn handle_response(frame: &CanFdFrame) {
let result = QueryResult::parse(frame);
if result.mode.is_error() {
eprintln!("Fault code: {}", result.fault);
}
}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: Mode§position: f32§velocity: f32§torque: f32§q_current: f32§d_current: f32§abs_position: f32§power: f32§motor_temperature: f32§trajectory_complete: bool§home_state: HomeState§voltage: f32§temperature: f32§fault: i8§aux1_gpio: i8§aux2_gpio: i8§aux1_pwm_input_period_us: i32§aux1_pwm_input_duty_cycle: f32§aux2_pwm_input_period_us: i32§aux2_pwm_input_duty_cycle: f32§extra: [Option<ExtraValue>; 16]Extra register values. None entries are unused.
Implementations§
Source§impl QueryResult
impl QueryResult
Sourcepub fn parse(frame: &CanFdFrame) -> Self
pub fn parse(frame: &CanFdFrame) -> Self
Parses a query response from a CAN frame.
Sourcepub fn parse_data(data: &[u8]) -> Self
pub fn parse_data(data: &[u8]) -> Self
Parses a query response from raw bytes.
Trait Implementations§
Source§impl Clone for QueryResult
impl Clone for QueryResult
Source§fn clone(&self) -> QueryResult
fn clone(&self) -> QueryResult
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 QueryResult
impl Debug for QueryResult
Source§impl Default for QueryResult
impl Default for QueryResult
Source§fn default() -> QueryResult
fn default() -> QueryResult
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for QueryResult
impl RefUnwindSafe for QueryResult
impl Send for QueryResult
impl Sync for QueryResult
impl Unpin for QueryResult
impl UnsafeUnpin for QueryResult
impl UnwindSafe for QueryResult
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