#[derive(Clone, Debug, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct RegisterData {
pub address: u16,
pub length: u16,
}
#[allow(missing_docs)]
#[derive(Clone, Copy, Eq, PartialEq, Debug, Hash, Ord, PartialOrd, derive_more::Display)]
#[cfg_attr(
feature = "serde",
derive(serde::Serialize, serde::Deserialize, strum::EnumString)
)]
pub enum Register {
ModelNumber,
ModelInformation,
FirmwareVersion,
Id,
BaudRate,
ReturnDelayTime,
DriveMode,
OperatingMode,
SecondaryId,
ProtocolVersion,
HomingOffset,
MovingThreshold,
TemperatureLimit,
MotorTemperatureLimit,
MaxVoltageLimit,
MinVoltageLimit,
PwmLimit,
CurrentLimit,
AccelerationLimit,
VelocityLimit,
MaxPositionLimit,
MinPositionLimit,
StartupConfiguration,
Shutdown,
TorqueEnable,
Led,
StatusReturnLevel,
RegisteredInstruction,
HardwareErrorStatus,
VelocityIGain,
VelocityPGain,
PositionPGain,
Feedforward2ndGain,
Feedforward1stGain,
BusWatchdog,
GoalPwm,
GoalCurrent,
GoalVelocity,
ProfileAcceleration,
ProfileVelocity,
GoalPosition,
RealTimeTick,
Moving,
MovingStatus,
PresentPwm,
PresentCurrent,
PresentVelocity,
PresentPosition,
VelocityTrajectory,
PositionTrajectory,
PresentInputVoltage,
PresentTemperature,
PresentMotorTemperature,
BackupReady,
StartupConfig,
InPositionThreshold,
FollowingErrorThreshold,
GearRatioNumerator,
GearRatioDenominator,
SafeStopTime,
BrakeDelay,
GoalUpdateDelay,
OverexcitationVoltage,
NormalExcitationVoltage,
OverexcitationTime,
NotchFilterFrequency,
NotchFilterBandwidth,
NotchFilterDepth,
PresentVelocityLpfFrequency,
GoalCurrentLpfFrequency,
PositionFfLpfTime,
VelocityFfLpfTime,
ControlState,
ErrorCode,
GainSave,
VelocityFfGain,
PositionDGain,
PositionIGain,
PositionFfGain,
ProfileAccelerationTime,
ProfileTime,
PwmOffset,
CurrentOffset,
VelocityOffset,
ProtocolType,
ExternalPortMode1,
ExternalPortMode2,
ExternalPortMode3,
ExternalPortMode4,
LedRed,
LedGreen,
LedBlue,
Feedforward2NdGain,
Feedforward1StGain,
RealtimeTick,
ExternalPortData1,
ExternalPortData2,
ExternalPortData3,
ExternalPortData4,
PresentInverterTemperature,
HybridSave,
ControllerState,
ElectronicGearRatioNumerator,
ElectronicGearRatioDenominator,
InverterTemperatureLimit,
PositionLimitThreshold,
PwmSlope,
PresentLoad,
}