| Tekkotsu Homepage | Demos | Overview | Downloads | Dev. Resources | Reference | Credits |
DynamixelDriver Class Referencedescription of Dynamixel More...
Inheritance diagram for DynamixelDriver:
![]() Detailed Descriptiondescription of Dynamixel Definition at line 21 of file Dynamixel.h.
Member Typedef Documentation
Definition at line 232 of file Dynamixel.h. Constructor & Destructor Documentation
Definition at line 26 of file Dynamixel.h.
Definition at line 51 of file Dynamixel.h. Member Function Documentation
Called when the simulator is stepping while paused or advancing a frozen data source, return true if successful, or false if no more data is available. Implements DataSource. Definition at line 167 of file Dynamixel.cc. Referenced by CommThread::runloop().
User hook, called when the data source should release its claim on outputs with feedback (ignoringOuput()). It would be wise to call this from your destructor as well. Reimplemented from DataSource. Definition at line 121 of file Dynamixel.cc.
user hook for when frozen is set to true; advance() will be called by simulator at user discretion. Reimplemented from DataSource. Definition at line 152 of file Dynamixel.cc.
user hook for when frozen is set to false; if enteringRealtime() has been called then you should resume sending data. Reimplemented from DataSource. Definition at line 145 of file Dynamixel.cc.
User hook, called when the controller is going to be running in realtime mode, which is probably the normal mode you'd expect. You might be in realtime mode, but a debugger breakpoint will still pause things, or thread scheduling could hiccup, so try to be robust. Reimplemented from DataSource. Definition at line 72 of file Dynamixel.h.
Returns the name of the class (aka its type). Suggested implementation is to declare a static string member, set it to the result of calling the registry's registerType, and then return that member here Implements DeviceDriver. Definition at line 57 of file Dynamixel.h. Referenced by plistValueChanged().
Reimplemented from DeviceDriver. Definition at line 59 of file Dynamixel.h.
Reimplemented from DeviceDriver. Definition at line 60 of file Dynamixel.h.
forwards call to DataSource::ignoringOutput() if the index is valid Definition at line 382 of file Dynamixel.h. Referenced by deregisterSource(), and plistValueChanged().
Should return true if the MotionHook is successfully connected to physical hardware. If relevant, this will only be called after motionStarting() has been called in order to initialize a connection. This is used mainly to cancel out of the WaitForSensors if all MotionHooks return false. If you are still in the process of connecting or unsure of status, be optimistic and return true. This function will be polled at a coarse rate while blocked on sensors in case of timeouts on the part of the MotionHook render it moot. Implements MotionHook. Definition at line 59 of file Dynamixel.cc.
User hook, called when leaving realtime mode, which means you have no idea when motionCheck() is going to be called in terms of wall-clock time. Argument set to true if entering full speed mode, which indicates everything should run at full native "frame rate", and may indicate more data will be processed than normal, CPU speed permitting. However, if false, almost certainly indicates updates will be sparse, trigger by user 'step' commands. May be called multiple times if changing between full-speed mode and paused A non-realtime mode might be triggered if the user wants to pause the simulator/controller to step through something... No guarantees though! The debugger might catch a breakpoint and stop things, and this won't be called! Reimplemented from DataSource. Definition at line 73 of file Dynamixel.h.
Called each time the motion process has polled active motion commands. When in realtime mode, this should be called every FrameTime*NumFrames (defined in the RobotInfo) milliseconds if running at full speed. See enteringRealtime() and leavingRealtime(). This default implementation checks to see which outputs have changed value since the last call and passes the summary on to motionUpdated(). lastOutputs will be updated with the new values after the call to motionUpdated(). If you need to process all the outputs on every frame, you only need to override this function. Your subclass doesn't need to call the MotionHook implementation unless you want to have lastOutputs updated for you. If you only need to process the changed outputs for each frame, override motionUpdated() instead. motionUpdated() is always called for each update, even if there aren't any changes, so you can still use that if there are some outputs which need to be updated every cycle. Reimplemented from MotionHook. Definition at line 81 of file Dynamixel.cc.
Called when motion process is starting. Reimplemented from MotionHook. Definition at line 21 of file Dynamixel.cc. Referenced by plistValueChanged().
Called when motion process is stopping. Reimplemented from MotionHook. Definition at line 64 of file Dynamixel.cc.
Returns a descriptive name of the next data segment for user feedback (e.g. a filename for logged data). Just use your class name if you don't have a useful name for individual samples. Implements DataSource. Definition at line 76 of file Dynamixel.h.
Returns the simulator time of the next data segment. Should be in the future if nothing new since last data segment, otherwise should be the timestamp of the most recent data segment (older segments are skipped), return -1U if there is no more data Implements DataSource. Definition at line 160 of file Dynamixel.cc.
tests each servo to see if it is connected Definition at line 274 of file Dynamixel.cc. Referenced by advance(), motionStarting(), CommThread::plistCollectionEntriesChanged(), CommThread::plistCollectionEntryAdded(), and registerSource().
Implements PrimitiveListener. Definition at line 189 of file Dynamixel.cc. Referenced by registerSource().
Implements Listener. Definition at line 256 of file Dynamixel.cc.
forwards call to DataSource::providingOutput() if the index is valid Definition at line 380 of file Dynamixel.h. Referenced by plistValueChanged(), and registerSource().
sends AX-S1 sensor values into the framework TODO: let sndCount be mapped to a button instead of sensor to provide events? Definition at line 706 of file Dynamixel.cc.
sends servo feedback values into the framework Definition at line 667 of file Dynamixel.cc. Referenced by pingServos(), and CommThread::readResponse().
User hook, called when the data source should claim which outputs it provides feedback (providingOuput()). Does not indicate the data source should start sending updates yet — wait for enteringRealtime() or advance() to be called Reimplemented from DataSource. Definition at line 97 of file Dynamixel.cc. Referenced by plistValueChanged().
broadcasts a "relax" command to all servos Definition at line 369 of file Dynamixel.cc. Referenced by motionStopping(), and plistValueChanged().
Called when PID values change. Reimplemented from MotionHook. Definition at line 90 of file Dynamixel.cc.
sends a series of sync write entries into a stream (adding appropriate header and checksum) Definition at line 391 of file Dynamixel.h. Referenced by CommThread::updateCommands(). Member Data Documentation
holds the class name, set via registration with the DeviceDriver registry Definition at line 407 of file Dynamixel.h. Referenced by getClassName().
The delay (in MILLIseconds, ms) to get a response from the servos due to buffering in the USB-to-TTL interface. Definition at line 236 of file Dynamixel.h. Referenced by deregisterSource(), DynamixelDriver(), CommThread::nextTimestamp(), plistValueChanged(), and registerSource().
Name of the CommPort to use, generally a SerialCommPort with direct binary TTL communication with the servos. Definition at line 234 of file Dynamixel.h. Referenced by advance(), deregisterSource(), DynamixelDriver(), isConnected(), motionStarting(), motionStopping(), nextTimestamp(), pingServos(), plistValueChanged(), and registerSource().
Referenced by advance(), deregisterSource(), doFreeze(), doUnfreeze(), motionCheck(), motionStarting(), motionStopping(), nextTimestamp(), pingServos(), plistValueChanged(), and updatePIDs().
Definition at line 403 of file Dynamixel.h. Ratio of load to deflection, if non-zero will use LoadPrediction messages and attempt to counter anticipated loads. Definition at line 235 of file Dynamixel.h. Referenced by DynamixelDriver(), and CommThread::setServo().
Definition at line 401 of file Dynamixel.h. Referenced by deregisterSource(), motionStarting(), motionStopping(), plistValueChanged(), and registerSource().
Number of sensor queries to send before reading responses. This lets us front-load the queries so we can get multiple responses per read buffer flush period. Definition at line 237 of file Dynamixel.h. Referenced by deregisterSource(), DynamixelDriver(), plistValueChanged(), registerSource(), and CommThread::runloop().
The amount of time (in MICROseconds, µs) to wait between sending a sensor query and sending another when front-loading the buffer. If this is too short, the next query will collide with the previous response. Definition at line 238 of file Dynamixel.h. Referenced by deregisterSource(), DynamixelDriver(), plistValueChanged(), registerSource(), and CommThread::runloop().
Definition at line 402 of file Dynamixel.h. Referenced by deregisterSource(), motionStarting(), motionStopping(), plistValueChanged(), registerSource(), and CommThread::runloop().
Referenced by DynamixelDriver(), and ~DynamixelDriver(). Maps servo IDs to Tekkotsu output offsets, use command line new/delete commands to add/remove mappings. Definition at line 231 of file Dynamixel.h. Referenced by deregisterSource(), DynamixelDriver(), motionStarting(), pingServos(), plistValueChanged(), processDriverMessage(), registerSource(), and ~DynamixelDriver().
bioloid kits start the id count at 1 Definition at line 23 of file Dynamixel.h. Referenced by DynamixelDriver(), pingServos(), and ServoInfo::ServoInfo().
index of the temperature sensor Definition at line 242 of file Dynamixel.h. Referenced by DynamixelDriver(), and provideValues().
Definition at line 24 of file Dynamixel.h. Referenced by pingServos(), ServoInfo::ServoInfo(), and CommThread::updateCommands().
index of the voltage sensor Definition at line 241 of file Dynamixel.h. Referenced by DynamixelDriver(), and provideValues(). The documentation for this class was generated from the following files: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tekkotsu Hardware Abstraction Layer 5.1CVS |
Generated Tue Jan 31 04:35:34 2012 by Doxygen 1.6.3 |