Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
YMultiAxisController Class Reference

#include <yocto_multiaxiscontroller.h>

Inheritance diagram for YMultiAxisController:
Inheritance graph
[legend]

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)
 
YMultiAxisControllernext (void)
 
YMultiAxisControllernextMultiAxisController (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)
 
YModuleget_module (void)
 
void * get_userData (void)
 
bool isOnline (void)
 
YRETCODE load (int msValidity)
 
virtual string loadAttribute (string attrName)
 
string logicalName (void)
 
YModulemodule (void)
 
virtual int muteValueCallbacks (void)
 
YFunctionnext (void)
 
YFunctionnextFunction (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 YMultiAxisControllerFind (string func)
 
static YMultiAxisControllerFindMultiAxisController (string func)
 
static YMultiAxisControllerFirst (void)
 
static YMultiAxisControllerFirstMultiAxisController (void)
 
- Static Public Member Functions inherited from YFunction
static void _ClearCache (void)
 
static YFunctionFind (string func)
 
static YFunctionFindFunction (string func)
 
static YFunctionFirst (void)
 
static YFunctionFirstFunction (void)
 

Static Public Attributes

static const string COMMAND_INVALID = YAPI_INVALID_STRING
 
static const Y_GLOBALSTATE_enum GLOBALSTATE_ABSENT = Y_GLOBALSTATE_ABSENT
 
static const Y_GLOBALSTATE_enum GLOBALSTATE_ALERT = Y_GLOBALSTATE_ALERT
 
static const Y_GLOBALSTATE_enum GLOBALSTATE_BATCH = Y_GLOBALSTATE_BATCH
 
static const Y_GLOBALSTATE_enum GLOBALSTATE_HI_Z = Y_GLOBALSTATE_HI_Z
 
static const Y_GLOBALSTATE_enum GLOBALSTATE_INVALID = Y_GLOBALSTATE_INVALID
 
static const Y_GLOBALSTATE_enum GLOBALSTATE_RUN = Y_GLOBALSTATE_RUN
 
static const Y_GLOBALSTATE_enum GLOBALSTATE_STOP = Y_GLOBALSTATE_STOP
 
static const int NAXIS_INVALID = YAPI_INVALID_UINT
 
- Static Public Attributes inherited from YFunction
static const string ADVERTISEDVALUE_INVALID = YAPI_INVALID_STRING
 
static const string FRIENDLYNAME_INVALID = YAPI_INVALID_STRING
 
static const YFUN_DESCR FUNCTIONDESCRIPTOR_INVALID = Y_FUNCTIONDESCRIPTOR_INVALID
 
static const string FUNCTIONID_INVALID = YAPI_INVALID_STRING
 
static const string HARDWAREID_INVALID = YAPI_INVALID_STRING
 
static const string LOGICALNAME_INVALID = YAPI_INVALID_STRING
 

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

YMultiAxisControlleryFindMultiAxisController (const string &func)
 
YMultiAxisControlleryFirstMultiAxisController (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
 

Detailed Description

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.

Constructor & Destructor Documentation

YMultiAxisController::YMultiAxisController ( const string &  func)
protected

Definition at line 51 of file yocto_multiaxiscontroller.cpp.

YMultiAxisController::~YMultiAxisController ( )

Definition at line 62 of file yocto_multiaxiscontroller.cpp.

Member Function Documentation

int YMultiAxisController::_invokeValueCallback ( string  value)
virtual

Reimplemented from YFunction.

Definition at line 287 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::_parseAttr ( YJSONObject json_val)
protectedvirtual

Reimplemented from YFunction.

Definition at line 71 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::abortAndBrake ( void  )
virtual

Stops the motor smoothly as soon as possible, without waiting for ongoing move completion.

Returns
YAPI_SUCCESS if the call succeeds. On failure, throws an exception or returns a negative error code.

Definition at line 436 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::abortAndHiZ ( void  )
virtual

Turn the controller into Hi-Z mode immediately, without waiting for ongoing move completion.

Returns
YAPI_SUCCESS if the call succeeds. On failure, throws an exception or returns a negative error code.

Definition at line 447 of file yocto_multiaxiscontroller.cpp.

string YMultiAxisController::command ( void  )
inline

Definition at line 155 of file yocto_multiaxiscontroller.h.

int YMultiAxisController::emergencyStop ( void  )
virtual

Stops the motor with an emergency alert, without taking any additional precaution.

Returns
YAPI_SUCCESS if the call succeeds. On failure, throws an exception or returns a negative error code.

Definition at line 425 of file yocto_multiaxiscontroller.cpp.

static YMultiAxisController* YMultiAxisController::Find ( string  func)
inlinestatic

Definition at line 288 of file yocto_multiaxiscontroller.h.

int YMultiAxisController::findHomePosition ( vector< double >  speed)
virtual

Starts all motors backward at the specified speeds, to search for the motor home position.

Parameters
speed: desired speed for all axis, in steps per second.
Returns
YAPI_SUCCESS if the call succeeds. On failure, throws an exception or returns a negative error code.

Definition at line 339 of file yocto_multiaxiscontroller.cpp.

YMultiAxisController * YMultiAxisController::FindMultiAxisController ( string  func)
static

Retrieves a multi-axis controller for a given identifier. The identifier can be specified using several formats:

  • FunctionLogicalName
  • ModuleSerialNumber.FunctionIdentifier
  • ModuleSerialNumber.FunctionLogicalName
  • ModuleLogicalName.FunctionIdentifier
  • ModuleLogicalName.FunctionLogicalName

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.

Parameters
func: a string that uniquely characterizes the multi-axis controller
Returns
a YMultiAxisController object allowing you to drive the multi-axis controller.

Definition at line 236 of file yocto_multiaxiscontroller.cpp.

static YMultiAxisController* YMultiAxisController::First ( void  )
inlinestatic

Definition at line 312 of file yocto_multiaxiscontroller.h.

YMultiAxisController * YMultiAxisController::FirstMultiAxisController ( void  )
static

Starts the enumeration of multi-axis controllers currently accessible. Use the method YMultiAxisController.nextMultiAxisController() to iterate on next multi-axis controllers.

Returns
a pointer to a YMultiAxisController object, corresponding to the first multi-axis controller currently online, or a NULL pointer if there are none.

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.

Returns
a value among Y_GLOBALSTATE_ABSENT, Y_GLOBALSTATE_ALERT, Y_GLOBALSTATE_HI_Z, Y_GLOBALSTATE_STOP, Y_GLOBALSTATE_RUN and Y_GLOBALSTATE_BATCH corresponding to 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.

Returns
an integer corresponding to the number of synchronized controllers

On failure, throws an exception or returns Y_NAXIS_INVALID.

Definition at line 93 of file yocto_multiaxiscontroller.cpp.

Y_GLOBALSTATE_enum YMultiAxisController::globalState ( void  )
inline

Definition at line 150 of file yocto_multiaxiscontroller.h.

int YMultiAxisController::moveRel ( vector< double >  relPos)
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.

Parameters
relPos: relative position, measured in steps from the current position.
Returns
YAPI_SUCCESS if the call succeeds. On failure, throws an exception or returns a negative error code.

Definition at line 391 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::moveTo ( vector< double >  absPos)
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.

Parameters
absPos: absolute position, measured in steps from each origin.
Returns
YAPI_SUCCESS if the call succeeds. On failure, throws an exception or returns a negative error code.

Definition at line 365 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::nAxis ( void  )
inline

Definition at line 123 of file yocto_multiaxiscontroller.h.

YMultiAxisController* YMultiAxisController::next ( void  )
inline

Definition at line 299 of file yocto_multiaxiscontroller.h.

YMultiAxisController * YMultiAxisController::nextMultiAxisController ( void  )

Continues the enumeration of multi-axis controllers started using yFirstMultiAxisController().

Returns
a pointer to a YMultiAxisController object, corresponding to a multi-axis controller currently online, or a NULL pointer if there are no more multi-axis controllers to enumerate.

Definition at line 452 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::pause ( int  waitMs)
virtual

Keep the motor in the same state for the specified amount of time, before processing next command.

Parameters
waitMs: wait time, specified in milliseconds.
Returns
YAPI_SUCCESS if the call succeeds. On failure, throws an exception or returns a negative error code.

Definition at line 414 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::registerValueCallback ( YMultiAxisControllerValueCallback  callback)
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.

Parameters
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.

int YMultiAxisController::reset ( void  )
virtual

Reinitialize all controllers and clear all alert flags.

Returns
YAPI_SUCCESS if the call succeeds. On failure, throws an exception or returns a negative error code.

Definition at line 326 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::sendCommand ( string  command)
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.

Parameters
newval: an integer corresponding to the number of synchronized controllers
Returns
YAPI_SUCCESS if the call succeeds.

On failure, throws an exception or returns a negative error code.

Definition at line 124 of file yocto_multiaxiscontroller.cpp.

int YMultiAxisController::setCommand ( const string &  newval)
inline

Definition at line 159 of file yocto_multiaxiscontroller.h.

int YMultiAxisController::setNAxis ( int  newval)
inline

Definition at line 136 of file yocto_multiaxiscontroller.h.

Friends And Related Function Documentation

YMultiAxisController* yFindMultiAxisController ( const string &  func)
friend

Retrieves a multi-axis controller for a given identifier. The identifier can be specified using several formats:

  • FunctionLogicalName
  • ModuleSerialNumber.FunctionIdentifier
  • ModuleSerialNumber.FunctionLogicalName
  • ModuleLogicalName.FunctionIdentifier
  • ModuleLogicalName.FunctionLogicalName

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.

Parameters
func: a string that uniquely characterizes the multi-axis controller
Returns
a YMultiAxisController object allowing you to drive the multi-axis controller.

Definition at line 349 of file yocto_multiaxiscontroller.h.

YMultiAxisController* yFirstMultiAxisController ( void  )
friend

Starts the enumeration of multi-axis controllers currently accessible. Use the method YMultiAxisController.nextMultiAxisController() to iterate on next multi-axis controllers.

Returns
a pointer to a YMultiAxisController object, corresponding to the first multi-axis controller currently online, or a NULL pointer if there are none.

Definition at line 360 of file yocto_multiaxiscontroller.h.

Member Data Documentation

string YMultiAxisController::_command
protected

Definition at line 87 of file yocto_multiaxiscontroller.h.

Y_GLOBALSTATE_enum YMultiAxisController::_globalState
protected

Definition at line 86 of file yocto_multiaxiscontroller.h.

int YMultiAxisController::_nAxis
protected

Definition at line 85 of file yocto_multiaxiscontroller.h.

YMultiAxisControllerValueCallback YMultiAxisController::_valueCallbackMultiAxisController
protected

Definition at line 88 of file yocto_multiaxiscontroller.h.

const string YMultiAxisController::COMMAND_INVALID = YAPI_INVALID_STRING
static

Definition at line 112 of file yocto_multiaxiscontroller.h.

const Y_GLOBALSTATE_enum YMultiAxisController::GLOBALSTATE_ABSENT = Y_GLOBALSTATE_ABSENT
static

Definition at line 105 of file yocto_multiaxiscontroller.h.

const Y_GLOBALSTATE_enum YMultiAxisController::GLOBALSTATE_ALERT = Y_GLOBALSTATE_ALERT
static

Definition at line 106 of file yocto_multiaxiscontroller.h.

const Y_GLOBALSTATE_enum YMultiAxisController::GLOBALSTATE_BATCH = Y_GLOBALSTATE_BATCH
static

Definition at line 110 of file yocto_multiaxiscontroller.h.

const Y_GLOBALSTATE_enum YMultiAxisController::GLOBALSTATE_HI_Z = Y_GLOBALSTATE_HI_Z
static

Definition at line 107 of file yocto_multiaxiscontroller.h.

const Y_GLOBALSTATE_enum YMultiAxisController::GLOBALSTATE_INVALID = Y_GLOBALSTATE_INVALID
static

Definition at line 111 of file yocto_multiaxiscontroller.h.

const Y_GLOBALSTATE_enum YMultiAxisController::GLOBALSTATE_RUN = Y_GLOBALSTATE_RUN
static

Definition at line 109 of file yocto_multiaxiscontroller.h.

const Y_GLOBALSTATE_enum YMultiAxisController::GLOBALSTATE_STOP = Y_GLOBALSTATE_STOP
static

Definition at line 108 of file yocto_multiaxiscontroller.h.

const int YMultiAxisController::NAXIS_INVALID = YAPI_INVALID_UINT
static

Definition at line 104 of file yocto_multiaxiscontroller.h.


The documentation for this class was generated from the following files:


yoctopuce_altimeter
Author(s): Anja Sheppard
autogenerated on Mon Jun 10 2019 15:49:13