pub struct DamiaoCodec { /* private fields */ }Expand description
Damiao motor codec.
Construct with DamiaoCodec::new. Implements
[MotorCodec] for the vendor-agnostic surface and crate::DamiaoCodecExt
for the Damiao-specific 0x7FF parameter sub-protocol.
Implementations§
Source§impl DamiaoCodec
impl DamiaoCodec
Trait Implementations§
Source§impl Clone for DamiaoCodec
impl Clone for DamiaoCodec
Source§fn clone(&self) -> DamiaoCodec
fn clone(&self) -> DamiaoCodec
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 DamiaoCodecExt for DamiaoCodec
impl DamiaoCodecExt for DamiaoCodec
Source§fn encode_read_param(&self, motor: MotorRef<'_>, rid: DamiaoRid) -> CanFrame
fn encode_read_param(&self, motor: MotorRef<'_>, rid: DamiaoRid) -> CanFrame
Encode a “read parameter” frame (command byte
0x33).Source§fn encode_write_param(
&self,
motor: MotorRef<'_>,
rid: DamiaoRid,
val: ParamValue,
) -> CanFrame
fn encode_write_param( &self, motor: MotorRef<'_>, rid: DamiaoRid, val: ParamValue, ) -> CanFrame
Encode a “write parameter” frame (command byte
0x55).Source§fn encode_save_to_flash(&self, motor: MotorRef<'_>) -> CanFrame
fn encode_save_to_flash(&self, motor: MotorRef<'_>) -> CanFrame
Encode a “save settings to flash” frame (command byte
0xAA).Source§fn encode_refresh(&self, motor: MotorRef<'_>) -> CanFrame
fn encode_refresh(&self, motor: MotorRef<'_>) -> CanFrame
Encode a “request state feedback” frame (Damiao
refresh_motor_status,
command byte 0xCC on 0x7FF). The motor replies with a feedback frame;
this commands no motion. (Byte-for-byte the openarm
create_refresh_command.)Source§impl Debug for DamiaoCodec
impl Debug for DamiaoCodec
Source§impl Default for DamiaoCodec
impl Default for DamiaoCodec
Source§fn default() -> DamiaoCodec
fn default() -> DamiaoCodec
Returns the “default value” for a type. Read more
Source§impl MotorCodec for DamiaoCodec
impl MotorCodec for DamiaoCodec
Source§fn vendor_name(&self) -> &'static str
fn vendor_name(&self) -> &'static str
Vendor short name used in error messages and the TOML registry
(e.g.
"damiao").Source§fn supports(&self, motor_type: MotorTypeId) -> bool
fn supports(&self, motor_type: MotorTypeId) -> bool
True iff this codec can encode commands for and decode events from the
supplied motor type.
Source§fn limits(&self, motor_type: MotorTypeId) -> Result<Limits, CodecError>
fn limits(&self, motor_type: MotorTypeId) -> Result<Limits, CodecError>
Per-motor-type physical limits. Read more
Source§fn bind_to_bus(&mut self, caps: BusCapabilities)
fn bind_to_bus(&mut self, caps: BusCapabilities)
Called exactly once when this codec is bound to a [
crate::caps::BusCapabilities]. Read moreSource§fn encode_enable(&self, motor: MotorRef<'_>) -> Result<CanFrame, CodecError>
fn encode_enable(&self, motor: MotorRef<'_>) -> Result<CanFrame, CodecError>
Encode the lifecycle “enable motor” command.
Source§fn encode_disable(&self, motor: MotorRef<'_>) -> Result<CanFrame, CodecError>
fn encode_disable(&self, motor: MotorRef<'_>) -> Result<CanFrame, CodecError>
Encode the lifecycle “disable motor” command.
Source§fn encode_set_zero(&self, motor: MotorRef<'_>) -> Result<CanFrame, CodecError>
fn encode_set_zero(&self, motor: MotorRef<'_>) -> Result<CanFrame, CodecError>
Encode the lifecycle “set this position as zero” command.
Source§fn encode_command(
&self,
motor: MotorRef<'_>,
cmd: &Command,
) -> Result<CanFrame, CodecError>
fn encode_command( &self, motor: MotorRef<'_>, cmd: &Command, ) -> Result<CanFrame, CodecError>
Encode a control-mode command.
Source§fn encode_refresh(
&self,
motor: MotorRef<'_>,
) -> Result<Option<CanFrame>, CodecError>
fn encode_refresh( &self, motor: MotorRef<'_>, ) -> Result<Option<CanFrame>, CodecError>
Encode a “request current motor state” frame, if the vendor protocol has
one. Read more
Source§fn encode_set_mode(
&self,
motor: MotorRef<'_>,
mode: CommandKind,
) -> Result<Option<CanFrame>, CodecError>
fn encode_set_mode( &self, motor: MotorRef<'_>, mode: CommandKind, ) -> Result<Option<CanFrame>, CodecError>
Encode a “set the motor’s persistent control mode” frame, if the vendor
protocol supports it. Read more
Source§fn encode_control_mode_readback(
&self,
motor: MotorRef<'_>,
) -> Result<Option<CanFrame>, CodecError>
fn encode_control_mode_readback( &self, motor: MotorRef<'_>, ) -> Result<Option<CanFrame>, CodecError>
Encode a private control-mode read-back query, when supported.
Auto Trait Implementations§
impl Freeze for DamiaoCodec
impl RefUnwindSafe for DamiaoCodec
impl Send for DamiaoCodec
impl Sync for DamiaoCodec
impl Unpin for DamiaoCodec
impl UnsafeUnpin for DamiaoCodec
impl UnwindSafe for DamiaoCodec
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