mc_core::feetech

Enum Register

Source
#[repr(u8)]
pub enum Register {
Show 45 variants Firmware = 0, Model = 3, Id = 5, BaudRate = 6, ReturnDelay = 7, ReturnLevel = 8, Min = 9, Max = 11, MaxTemperature = 13, MaxVoltage = 14, MinVoltage = 15, MaxTorque = 16, Phase = 18, AlarmShutdown = 19, AlarmLed = 20, ComplianceP = 21, ComplianceD = 22, ComplianceI = 23, Punch = 24, DeadCw = 26, DeadCcw = 27, MaxCurrent = 28, Offset = 31, Mode = 33, ProtectTorque = 34, OvertorqueTime = 35, OverloadTorque = 36, SpeedComplianceP = 37, OvercurrentTime = 38, SpeedComplianceI = 39, TorqueEnable = 40, Acceleration = 41, GoalPosition = 42, GoalSpeed = 46, Lock = 55, Position = 56, Speed = 58, Load = 60, Voltage = 62, Temperature = 63, AsyncWrite = 64, Status = 65, MobileSign = 66, VirPosition = 67, Current = 69,
}
Expand description

Feetech protocol registers

Variants§

§

Firmware = 0

firmware version (u16)

§

Model = 3

model number (u16)

§

Id = 5

servo ID (u8)

§

BaudRate = 6

baud rate (u8, 0: 1000000, 1: 500000, 2: 250000, 3: 128000, 4: 115200, 5: 76800, 6: 57600, 7: 38400)

§

ReturnDelay = 7

return delay time in 2us steps (u8)

§

ReturnLevel = 8

return level (u8, 0: no return, 1: return)

§

Min = 9

minimum position (u16, 0..4094 in 360/4096 degrees)

§

Max = 11

maximum position (u16, 1..4095 in 360/4096 degrees)

§

MaxTemperature = 13

maximum temperature (u8, 0..100 in deg.C)

§

MaxVoltage = 14

maximum voltage (u8, 0..254 in 0.1V)

§

MinVoltage = 15

minimum voltage (u8, 0..254 in 0.1V)

§

MaxTorque = 16

maximum torque (u16, 0..1000 in 1/1000 of full torque)

§

Phase = 18

phase (u8, unknown)

§

AlarmShutdown = 19

alarm shutdown (u8, bit0:..bit5)

§

AlarmLed = 20

alarm LED (u8, bit0:..bit5)

§

ComplianceP = 21

PID compliance P factor (u8, 0..254)

§

ComplianceD = 22

PID compliance D factor (u8, 0..254)

§

ComplianceI = 23

PID compliance I factor (u8, 0..254)

§

Punch = 24

punch (u16, 0..1000 in 1/1000 of full torque)

§

DeadCw = 26

dead zone clockwise (u8, 0..32 in 360/4096 degrees)

§

DeadCcw = 27

dead zone counter-clockwise (u8, 0..32 in 360/4096 degrees)

§

MaxCurrent = 28

maximum current (u16, 0..511 in 6.5mA)

§

Offset = 31

position offset (u16, -2047..2047 in 360/4096 degrees)

§

Mode = 33

mode (u8, 0: position, 1: speed, 2: open loop, 3: step)

§

ProtectTorque = 34

torque protection limit (u8, 0..100 in 1/100 of full torque)

§

OvertorqueTime = 35

overtorque time (u8, 0..100 in 10ms)

§

OverloadTorque = 36

overload torque (u8, 0..100 in 1%)

§

SpeedComplianceP = 37

speed compliance P factor (u8, 0..254)

§

OvercurrentTime = 38

overcurrent time (u8, 0..100 in 10ms)

§

SpeedComplianceI = 39

speed compliance I factor (u8, 0..254)

§

TorqueEnable = 40

torque enable (u8, 0: disable torque, 1: enable torque, 128: reset current position to 2048)

§

Acceleration = 41

acceleration (u8, 0..254 in 36000/4096 degrees/s^2)

§

GoalPosition = 42

goal position (u16, -32766..32766 in 360/4096 degrees)

§

GoalSpeed = 46

goal load (u16, 0..1000 in 1/1000 of full torque)

§

Lock = 55

lock (u8, 0: lock EPROM, 1: unlock EPROM)

§

Position = 56

position (u16, 0..4095 in 360/4096 degrees)

§

Speed = 58

speed (u16, 0..4095 in 360/4096 degrees/s)

§

Load = 60

load (u16, 0..1000 in 1/1000 of full torque)

§

Voltage = 62

voltage (u8, 0..254 in 0.1V)

§

Temperature = 63

temperature (u8, 0..100 in deg.C)

§

AsyncWrite = 64

async write (u8, unknown)

§

Status = 65

status (u8, bit0: voltage, bit1: sensor, bit2: temperature, bit3: current, bit4: position, bit5: overload)

§

MobileSign = 66

mobile sign (u8, unknown)

§

VirPosition = 67

virtual position (u16, unknown)

§

Current = 69

current (u16, 0..500 in 6.5mA)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V