#[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§
impl Freeze for Register
impl RefUnwindSafe for Register
impl Send for Register
impl Sync for Register
impl Unpin for Register
impl UnwindSafe for Register
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
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
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) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
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
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.