#include <yocto_multiaxiscontroller.h>
Public Member Functions | |
virtual int | _invokeValueCallback (string value) |
virtual int | abortAndBrake (void) |
virtual int | abortAndHiZ (void) |
string | command (void) |
virtual int | emergencyStop (void) |
virtual int | findHomePosition (vector< double > speed) |
string | get_command (void) |
Y_GLOBALSTATE_enum | get_globalState (void) |
int | get_nAxis (void) |
Y_GLOBALSTATE_enum | globalState (void) |
virtual int | moveRel (vector< double > relPos) |
virtual int | moveTo (vector< double > absPos) |
int | nAxis (void) |
YMultiAxisController * | next (void) |
YMultiAxisController * | nextMultiAxisController (void) |
virtual int | pause (int waitMs) |
virtual int | registerValueCallback (YMultiAxisControllerValueCallback callback) |
virtual int | reset (void) |
virtual int | sendCommand (string command) |
int | set_command (const string &newval) |
int | set_nAxis (int newval) |
int | setCommand (const string &newval) |
int | setNAxis (int newval) |
~YMultiAxisController () | |
Public Member Functions inherited from YFunction | |
void | _clearDataStreamCache () |
string | _decode_json_string (const string &json) |
string | _download (const string &url) |
YDataStream * | _findDataStream (YDataSet &dataset, const string &def) |
string | _get_json_path (const string &json, const string &path) |
vector< string > | _json_get_array (const string &json) |
string | _json_get_key (const string &json, const string &data) |
string | _json_get_string (const string &json) |
int | _parseEx (yJsonStateMachine &j) |
virtual int | _parserHelper (void) |
string | _parseString (yJsonStateMachine &j) |
string | _request (const string &request) |
string | _requestEx (int tcpchan, const string &request, yapiRequestProgressCallback callback, void *context) |
void | _throw (YRETCODE errType, string errMsg) |
YRETCODE | _upload (const string &path, const string &content) |
YRETCODE | _uploadWithProgress (const string &path, const string &content, yapiRequestProgressCallback callback, void *context) |
string | advertisedValue (void) |
void | clearCache () |
string | describe (void) |
string | errMessage (void) |
string | errorMessage (void) |
YRETCODE | errorType (void) |
YRETCODE | errType (void) |
YFUN_DESCR | functionDescriptor (void) |
string | get_advertisedValue (void) |
string | get_errorMessage (void) |
YRETCODE | get_errorType (void) |
virtual string | get_friendlyName (void) |
YFUN_DESCR | get_functionDescriptor (void) |
string | get_functionId (void) |
string | get_hardwareId (void) |
string | get_hubSerial () |
string | get_logicalName (void) |
YModule * | get_module (void) |
void * | get_userData (void) |
bool | isOnline (void) |
YRETCODE | load (int msValidity) |
virtual string | loadAttribute (string attrName) |
string | logicalName (void) |
YModule * | module (void) |
virtual int | muteValueCallbacks (void) |
YFunction * | next (void) |
YFunction * | nextFunction (void) |
virtual int | registerValueCallback (YFunctionValueCallback callback) |
int | set_advertisedValue (const string &newval) |
int | set_logicalName (const string &newval) |
void | set_userData (void *data) |
int | setAdvertisedValue (const string &newval) |
int | setLogicalName (const string &newval) |
void | setUserData (void *data) |
virtual int | unmuteValueCallbacks (void) |
void * | userData (void) |
virtual | ~YFunction () |
Static Public Member Functions | |
static YMultiAxisController * | Find (string func) |
static YMultiAxisController * | FindMultiAxisController (string func) |
static YMultiAxisController * | First (void) |
static YMultiAxisController * | FirstMultiAxisController (void) |
Static Public Member Functions inherited from YFunction | |
static void | _ClearCache (void) |
static YFunction * | Find (string func) |
static YFunction * | FindFunction (string func) |
static YFunction * | First (void) |
static YFunction * | FirstFunction (void) |
Protected Member Functions | |
virtual int | _parseAttr (YJSONObject *json_val) |
YMultiAxisController (const string &func) | |
Protected Member Functions inherited from YFunction | |
YRETCODE | _buildSetRequest (const string &changeattr, const string *changeval, string &request, string &errmsg) |
string | _escapeAttr (const string &changeval) |
YRETCODE | _getDescriptor (YFUN_DESCR &fundescr, string &errMsg) |
YRETCODE | _getDevice (YDevice *&dev, string &errMsg) |
YRETCODE | _load_unsafe (int msValidity) |
YRETCODE | _nextFunction (string &hwId) |
int | _parse (YJSONObject *j) |
YRETCODE | _setAttr (string attrname, string newvalue) |
YFunction (const string &func) | |
Protected Attributes | |
string | _command |
Y_GLOBALSTATE_enum | _globalState |
int | _nAxis |
YMultiAxisControllerValueCallback | _valueCallbackMultiAxisController |
Protected Attributes inherited from YFunction | |
string | _advertisedValue |
u64 | _cacheExpiration |
string | _className |
std::map< string, YDataStream * > | _dataStreams |
string | _func |
YFUN_DESCR | _fundescr |
string | _funId |
string | _hwId |
string | _lastErrorMsg |
YRETCODE | _lastErrorType |
string | _logicalName |
string | _serial |
yCRITICAL_SECTION | _this_cs |
void * | _userData |
YFunctionValueCallback | _valueCallbackFunction |
Friends | |
YMultiAxisController * | yFindMultiAxisController (const string &func) |
YMultiAxisController * | yFirstMultiAxisController (void) |
Additional Inherited Members | |
Static Protected Member Functions inherited from YFunction | |
static void | _AddToCache (const string &classname, const string &func, YFunction *obj) |
static YFunction * | _FindFromCache (const string &classname, const string &func) |
static void | _UpdateTimedReportCallbackList (YFunction *func, bool add) |
static void | _UpdateValueCallbackList (YFunction *func, bool add) |
Static Protected Attributes inherited from YFunction | |
static std::map< string, YFunction * > | _cache |
YMultiAxisController Class: MultiAxisController function interface
The Yoctopuce application programming interface allows you to drive a stepper motor.
Definition at line 77 of file yocto_multiaxiscontroller.h.
|
protected |
Definition at line 51 of file yocto_multiaxiscontroller.cpp.
YMultiAxisController::~YMultiAxisController | ( | ) |
Definition at line 62 of file yocto_multiaxiscontroller.cpp.
|
virtual |
Reimplemented from YFunction.
Definition at line 287 of file yocto_multiaxiscontroller.cpp.
|
protectedvirtual |
Reimplemented from YFunction.
Definition at line 71 of file yocto_multiaxiscontroller.cpp.
|
virtual |
Stops the motor smoothly as soon as possible, without waiting for ongoing move completion.
Definition at line 436 of file yocto_multiaxiscontroller.cpp.
|
virtual |
Turn the controller into Hi-Z mode immediately, without waiting for ongoing move completion.
Definition at line 447 of file yocto_multiaxiscontroller.cpp.
|
inline |
Definition at line 155 of file yocto_multiaxiscontroller.h.
|
virtual |
Stops the motor with an emergency alert, without taking any additional precaution.
Definition at line 425 of file yocto_multiaxiscontroller.cpp.
|
inlinestatic |
Definition at line 288 of file yocto_multiaxiscontroller.h.
|
virtual |
Starts all motors backward at the specified speeds, to search for the motor home position.
speed | : desired speed for all axis, in steps per second. |
Definition at line 339 of file yocto_multiaxiscontroller.cpp.
|
static |
Retrieves a multi-axis controller for a given identifier. The identifier can be specified using several formats:
This function does not require that the multi-axis controller is online at the time it is invoked. The returned object is nevertheless valid. Use the method YMultiAxisController.isOnline() to test if the multi-axis controller is indeed online at a given time. In case of ambiguity when looking for a multi-axis controller by logical name, no error is notified: the first instance found is returned. The search is performed first by hardware name, then by logical name.
If a call to this object's is_online() method returns FALSE although you are certain that the matching device is plugged, make sure that you did call registerHub() at application initialization time.
func | : a string that uniquely characterizes the multi-axis controller |
Definition at line 236 of file yocto_multiaxiscontroller.cpp.
|
inlinestatic |
Definition at line 312 of file yocto_multiaxiscontroller.h.
|
static |
Starts the enumeration of multi-axis controllers currently accessible. Use the method YMultiAxisController.nextMultiAxisController() to iterate on next multi-axis controllers.
Definition at line 462 of file yocto_multiaxiscontroller.cpp.
string YMultiAxisController::get_command | ( | void | ) |
Definition at line 171 of file yocto_multiaxiscontroller.cpp.
Y_GLOBALSTATE_enum YMultiAxisController::get_globalState | ( | void | ) |
Returns the stepper motor set overall state.
On failure, throws an exception or returns Y_GLOBALSTATE_INVALID.
Definition at line 149 of file yocto_multiaxiscontroller.cpp.
int YMultiAxisController::get_nAxis | ( | void | ) |
Returns the number of synchronized controllers.
On failure, throws an exception or returns Y_NAXIS_INVALID.
Definition at line 93 of file yocto_multiaxiscontroller.cpp.
|
inline |
Definition at line 150 of file yocto_multiaxiscontroller.h.
|
virtual |
Starts all motors synchronously to reach a given relative position. The time needed to reach the requested position will depend on the lowest acceleration and max speed parameters configured for all motors. The final position will be reached on all axis at the same time.
relPos | : relative position, measured in steps from the current position. |
Definition at line 391 of file yocto_multiaxiscontroller.cpp.
|
virtual |
Starts all motors synchronously to reach a given absolute position. The time needed to reach the requested position will depend on the lowest acceleration and max speed parameters configured for all motors. The final position will be reached on all axis at the same time.
absPos | : absolute position, measured in steps from each origin. |
Definition at line 365 of file yocto_multiaxiscontroller.cpp.
|
inline |
Definition at line 123 of file yocto_multiaxiscontroller.h.
|
inline |
Definition at line 299 of file yocto_multiaxiscontroller.h.
YMultiAxisController * YMultiAxisController::nextMultiAxisController | ( | void | ) |
Continues the enumeration of multi-axis controllers started using yFirstMultiAxisController().
Definition at line 452 of file yocto_multiaxiscontroller.cpp.
|
virtual |
Keep the motor in the same state for the specified amount of time, before processing next command.
waitMs | : wait time, specified in milliseconds. |
Definition at line 414 of file yocto_multiaxiscontroller.cpp.
|
virtual |
Registers the callback function that is invoked on every change of advertised value. The callback is invoked only during the execution of ySleep or yHandleEvents. This provides control over the time when the callback is triggered. For good responsiveness, remember to call one of these two functions periodically. To unregister a callback, pass a NULL pointer as argument.
callback | : the callback function to call, or a NULL pointer. The callback function should take two arguments: the function object of which the value has changed, and the character string describing the new advertised value. |
Definition at line 268 of file yocto_multiaxiscontroller.cpp.
|
virtual |
Reinitialize all controllers and clear all alert flags.
Definition at line 326 of file yocto_multiaxiscontroller.cpp.
|
virtual |
Definition at line 297 of file yocto_multiaxiscontroller.cpp.
int YMultiAxisController::set_command | ( | const string & | newval | ) |
Definition at line 193 of file yocto_multiaxiscontroller.cpp.
int YMultiAxisController::set_nAxis | ( | int | newval | ) |
Changes the number of synchronized controllers.
newval | : an integer corresponding to the number of synchronized controllers |
On failure, throws an exception or returns a negative error code.
Definition at line 124 of file yocto_multiaxiscontroller.cpp.
|
inline |
Definition at line 159 of file yocto_multiaxiscontroller.h.
|
inline |
Definition at line 136 of file yocto_multiaxiscontroller.h.
|
friend |
Retrieves a multi-axis controller for a given identifier. The identifier can be specified using several formats:
This function does not require that the multi-axis controller is online at the time it is invoked. The returned object is nevertheless valid. Use the method YMultiAxisController.isOnline() to test if the multi-axis controller is indeed online at a given time. In case of ambiguity when looking for a multi-axis controller by logical name, no error is notified: the first instance found is returned. The search is performed first by hardware name, then by logical name.
If a call to this object's is_online() method returns FALSE although you are certain that the matching device is plugged, make sure that you did call registerHub() at application initialization time.
func | : a string that uniquely characterizes the multi-axis controller |
Definition at line 349 of file yocto_multiaxiscontroller.h.
|
friend |
Starts the enumeration of multi-axis controllers currently accessible. Use the method YMultiAxisController.nextMultiAxisController() to iterate on next multi-axis controllers.
Definition at line 360 of file yocto_multiaxiscontroller.h.
|
protected |
Definition at line 87 of file yocto_multiaxiscontroller.h.
|
protected |
Definition at line 86 of file yocto_multiaxiscontroller.h.
|
protected |
Definition at line 85 of file yocto_multiaxiscontroller.h.
|
protected |
Definition at line 88 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 112 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 105 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 106 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 110 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 107 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 111 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 109 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 108 of file yocto_multiaxiscontroller.h.
|
static |
Definition at line 104 of file yocto_multiaxiscontroller.h.