Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
# SPDX-License-Identifier: GPL-3.0-or-later
# Copyright 2026 Marc Duclusaud
from typing import Protocol
class ControllerProtocol(Protocol):
"""Structural interface shared by RobotController, FakeController, and MuJoCoController."""
def sync_write_torque_enable(self, ids: list[int], values: list[bool]) -> None: ...
def sync_write_status_return_level(self, ids: list[int], levels: list[int]) -> None: ...
def sync_write_goal_position(self, ids: list[int], positions: list[float]) -> None: ...
def sync_read_present_position(self, ids: list[int]) -> list[float]: ...
def read_present_position(self, motor_id: int) -> float: ...
def sync_read_present_velocity(self, ids: list[int]) -> list[float]: ...
def read_present_velocity(self, motor_id: int) -> float: ...
def sync_read_present_current(self, ids: list[int]) -> list[float]: ...
def sync_read_present_input_voltage(self, motor_id: int) -> float: ...
def read_present_input_voltage(self, motor_id: int) -> float: ...
def sync_read_kp(self, ids: list[int]) -> list[int]: ...
def sync_write_kp(self, ids: list[int], gains: list[int]) -> None: ...
def read_acc(self) -> tuple[float, float, float]: ...
def read_gyro(self) -> tuple[float, float, float]: ...
def read_quat(self, dt: float) -> tuple[float, float, float, float]: ...99ba8520cThis file is pinned to the selected release. Download the original to open it in your design tool.