|
HardFOC Core
API reference
|
HAL handler wrapping one Dynamixel servo on a BaseUart.
More...
#include <DynamixelHandler.h>
Public Member Functions | |
| DynamixelHandler (BaseUart &uart, const DynamixelHandlerConfig &config=DynamixelHandlerConfig{}, RtosMutex *bus_mutex=nullptr) noexcept | |
| DynamixelHandler (const DynamixelHandler &)=delete | |
| DynamixelHandler & | operator= (const DynamixelHandler &)=delete |
| DynamixelHandler (DynamixelHandler &&)=delete | |
| DynamixelHandler & | operator= (DynamixelHandler &&)=delete |
| bool | EnsureInitialized () noexcept |
| bool | IsPresent () const noexcept |
| const dynamixel::PingInfo & | Identity () const noexcept |
| const dynamixel::ModelDescriptor * | Model () const noexcept |
| void | BindModel (const dynamixel::ModelDescriptor &desc) noexcept |
| void | BindXSeriesFallback () noexcept |
| dynamixel::DriverResult< dynamixel::PingInfo > | Ping () noexcept |
| dynamixel::DriverResult< uint8_t > | Scan (uint8_t *out_ids, uint8_t max_ids, uint8_t first_id=dynamixel::kMinDeviceId, uint8_t last_id=dynamixel::kMaxDeviceId) noexcept |
| Ping first_id..last_id; the default covers every Protocol 2.0 ID, 0 to 252. | |
| dynamixel::DriverResult< void > | Reboot () noexcept |
| Reboot the servo (Protocol 2.0 Reboot, 0x08): clears a latched Hardware Error Status. | |
| dynamixel::DriverResult< void > | SetTorqueEnabled (bool enabled) noexcept |
| dynamixel::DriverResult< void > | SetOperatingMode (dynamixel::OperatingMode mode) noexcept |
| dynamixel::DriverResult< void > | SetMotionProfile (uint32_t profile_acceleration, uint32_t profile_velocity) noexcept |
| dynamixel::DriverResult< void > | SetGoalPosition (int32_t ticks) noexcept |
| dynamixel::DriverResult< void > | SetGoalVelocity (int32_t ticks_per_sec) noexcept |
| dynamixel::DriverResult< int32_t > | ReadPosition () noexcept |
| dynamixel::DriverResult< dynamixel::Telemetry > | ReadTelemetry () noexcept |
| dynamixel::Bus & | bus () noexcept |
| dynamixel::Device & | device () noexcept |
| template<typename Fn > | |
| auto | visitDevice (Fn &&fn) noexcept |
Private Member Functions | |
| bool | EnsureInitializedLocked () noexcept |
Private Attributes | |
| DynamixelHandlerConfig | config_ |
| HalUartDynamixelComm | comm_ |
| dynamixel::Bus | bus_ |
| dynamixel::Device | device_ |
| dynamixel::PingInfo | identity_ {} |
| std::atomic< bool > | initialized_ {false} |
| RtosMutex | private_mutex_ |
| RtosMutex * | bus_mutex_ |
HAL handler wrapping one Dynamixel servo on a BaseUart.
Ownership: the host owns the UART. The handler owns the CRTP adapter, Bus, and Device. Share bus_mutex when another protocol uses the same UART (unusual for Dynamixel half-duplex).
|
explicitnoexcept |
|
delete |
|
delete |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
noexcept |
|
privatenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
delete |
|
delete |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
Reboot the servo (Protocol 2.0 Reboot, 0x08): clears a latched Hardware Error Status.
|
noexcept |
Ping first_id..last_id; the default covers every Protocol 2.0 ID, 0 to 252.
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
|
inlinenoexcept |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |