Crate drs_0x01[][src]

This crate provides basic functionnality to communicate with Herkulex DRS (both 0101 and 0201) servomotors. It is heavily based on the documentation published by Dongbu Robot which is available here.

Examples

To reboot all the servomotors you can use this message :

use drs_0x01::MessageBuilder;
// 0xFE is the broadcast ID
let message = MessageBuilder::new().id(0xFE).reboot().build();

Here is how to enable torque for the servomotor labelled 35 :

use drs_0x01::MessageBuilder;
use drs_0x01::WritableRamAddr::TorqueControl;
let message = MessageBuilder::new_with_id(35).write_ram(TorqueControl(1)).build();

Structs

MessageBuilder

This struct allows you to build message to directly speak to the herkulex servomotors.

MessageBuilderCmd

This is a specialized version of the MessageBuilder which contains an ID. It is used to build other types of builders such as :

MessageBuilderPosition

This is a specialized version of the MessageBuilder which contains an ID and a position request.

MessageBuilderSpecial

This is a specialized version of the MessageBuilder which contains an ID and a special request (reboot, reset or stat).

Enums

ReadableEEPAddr

This enum represent all the EPP (permanent) memory addresses which can be read. I comes from the page 21 of the datasheet.

ReadableRamAddr

This enum represent all the RAM (volatile) memory adresses which can be read. I comes from the page 24 of the datasheet.

WritableEEPAddr

This enum represent all the EPP (permanent) memory addresses which can be written to. I comes from the page 21 of the datasheet.

WritableRamAddr

This enum represent all the RAM (volatile) memory addresses which can be written to. I comes from the page 24 of the datasheet.