feathersdk.robot.actuators.motor Module

class feathersdk.robot.actuators.motor.MotorConfig(*, name, id, endpoint='', shares_endpoint_with=None, requires_calibration, calibration_timeout=10.0)

Bases: ActuatorConfig

Base configs for all motors. Should be subclassed by specific motor configs if needed.

Parameters:
  • name (Annotated[str, MinLen(min_length=1), MaxLen(max_length=255)])

  • id (int)

  • endpoint (str)

  • shares_endpoint_with (str | List[str] | None)

  • requires_calibration (bool)

  • calibration_timeout (Annotated[float, Gt(gt=0), Le(le=120.0)])

model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class feathersdk.robot.actuators.motor.Motor(config, *args, **kwargs)

Bases: Actuator[TMotorConfig], Generic[TMotorConfig, TTelemParamSet, TTelemParam, TTelemVal]

Base class for all motors.

Initializes the telemetry manager and parameter set.

Parameters:
PARAM_SET: TTelemParamSet | None = None

The parameter set for the motor. Should be overridden by subclasses.

telemetry: TelemetryManager[TTelemParamSet, TTelemParam, TTelemVal]

The telemetry manager for the motor.

class feathersdk.robot.actuators.motor.MotorType

Type variable for motor instances, bound with generic types

alias of TypeVar(‘MotorType’, bound=Motor[TMotorConfig, TTelemParamSet, TTelemParam, TTelemVal])

exception feathersdk.robot.actuators.motor.UnsafeCommandError

Bases: Exception

Raised when attempting to execute an unsafe command.

exception feathersdk.robot.actuators.motor.MotorDisabledError(*args, **kwargs)

Bases: Exception

Raised when attempting to command a motor that is disabled (in Reset mode).

Parameters:
Return type:

None