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

#include <yocto_daisychain.h>

Inheritance diagram for YDaisyChain:
Inheritance graph
[legend]

Public Member Functions

virtual int _invokeValueCallback (string value)
 
int childCount (void)
 
Y_DAISYSTATE_enum daisyState (void)
 
int get_childCount (void)
 
Y_DAISYSTATE_enum get_daisyState (void)
 
int get_requiredChildCount (void)
 
YDaisyChainnext (void)
 
YDaisyChainnextDaisyChain (void)
 
virtual int registerValueCallback (YDaisyChainValueCallback callback)
 
int requiredChildCount (void)
 
int set_requiredChildCount (int newval)
 
int setRequiredChildCount (int newval)
 
 ~YDaisyChain ()
 
- 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 YDaisyChainFind (string func)
 
static YDaisyChainFindDaisyChain (string func)
 
static YDaisyChainFirst (void)
 
static YDaisyChainFirstDaisyChain (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 int CHILDCOUNT_INVALID = YAPI_INVALID_UINT
 
static const Y_DAISYSTATE_enum DAISYSTATE_CHILD_LOST = Y_DAISYSTATE_CHILD_LOST
 
static const Y_DAISYSTATE_enum DAISYSTATE_CHILD_MISSING = Y_DAISYSTATE_CHILD_MISSING
 
static const Y_DAISYSTATE_enum DAISYSTATE_FIRMWARE_MISMATCH = Y_DAISYSTATE_FIRMWARE_MISMATCH
 
static const Y_DAISYSTATE_enum DAISYSTATE_INVALID = Y_DAISYSTATE_INVALID
 
static const Y_DAISYSTATE_enum DAISYSTATE_IS_CHILD = Y_DAISYSTATE_IS_CHILD
 
static const Y_DAISYSTATE_enum DAISYSTATE_READY = Y_DAISYSTATE_READY
 
static const int REQUIREDCHILDCOUNT_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)
 
 YDaisyChain (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

int _childCount
 
Y_DAISYSTATE_enum _daisyState
 
int _requiredChildCount
 
YDaisyChainValueCallback _valueCallbackDaisyChain
 
- 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

YDaisyChainyFindDaisyChain (const string &func)
 
YDaisyChainyFirstDaisyChain (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

YDaisyChain Class: DaisyChain function interface

The YDaisyChain interface can be used to verify that devices that are daisy-chained directly from device to device, without a hub, are detected properly.

Definition at line 78 of file yocto_daisychain.h.

Constructor & Destructor Documentation

YDaisyChain::YDaisyChain ( const string &  func)
protected

Definition at line 51 of file yocto_daisychain.cpp.

YDaisyChain::~YDaisyChain ( )

Definition at line 62 of file yocto_daisychain.cpp.

Member Function Documentation

int YDaisyChain::_invokeValueCallback ( string  value)
virtual

Reimplemented from YFunction.

Definition at line 280 of file yocto_daisychain.cpp.

int YDaisyChain::_parseAttr ( YJSONObject json_val)
protectedvirtual

Reimplemented from YFunction.

Definition at line 70 of file yocto_daisychain.cpp.

int YDaisyChain::childCount ( void  )
inline

Definition at line 137 of file yocto_daisychain.h.

Y_DAISYSTATE_enum YDaisyChain::daisyState ( void  )
inline

Definition at line 125 of file yocto_daisychain.h.

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

Definition at line 214 of file yocto_daisychain.h.

YDaisyChain * YDaisyChain::FindDaisyChain ( string  func)
static

Retrieves a module chain 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 module chain is online at the time it is invoked. The returned object is nevertheless valid. Use the method YDaisyChain.isOnline() to test if the module chain is indeed online at a given time. In case of ambiguity when looking for a module chain 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 module chain
Returns
a YDaisyChain object allowing you to drive the module chain.

Definition at line 229 of file yocto_daisychain.cpp.

static YDaisyChain* YDaisyChain::First ( void  )
inlinestatic

Definition at line 238 of file yocto_daisychain.h.

YDaisyChain * YDaisyChain::FirstDaisyChain ( void  )
static

Starts the enumeration of module chains currently accessible. Use the method YDaisyChain.nextDaisyChain() to iterate on next module chains.

Returns
a pointer to a YDaisyChain object, corresponding to the first module chain currently online, or a NULL pointer if there are none.

Definition at line 300 of file yocto_daisychain.cpp.

int YDaisyChain::get_childCount ( void  )

Returns the number of child nodes currently detected.

Returns
an integer corresponding to the number of child nodes currently detected

On failure, throws an exception or returns Y_CHILDCOUNT_INVALID.

Definition at line 123 of file yocto_daisychain.cpp.

Y_DAISYSTATE_enum YDaisyChain::get_daisyState ( void  )

Returns the state of the daisy-link between modules.

Returns
a value among Y_DAISYSTATE_READY, Y_DAISYSTATE_IS_CHILD, Y_DAISYSTATE_FIRMWARE_MISMATCH, Y_DAISYSTATE_CHILD_MISSING and Y_DAISYSTATE_CHILD_LOST corresponding to the state of the daisy-link between modules

On failure, throws an exception or returns Y_DAISYSTATE_INVALID.

Definition at line 94 of file yocto_daisychain.cpp.

int YDaisyChain::get_requiredChildCount ( void  )

Returns the number of child nodes expected in normal conditions.

Returns
an integer corresponding to the number of child nodes expected in normal conditions

On failure, throws an exception or returns Y_REQUIREDCHILDCOUNT_INVALID.

Definition at line 152 of file yocto_daisychain.cpp.

YDaisyChain* YDaisyChain::next ( void  )
inline

Definition at line 225 of file yocto_daisychain.h.

YDaisyChain * YDaisyChain::nextDaisyChain ( void  )

Continues the enumeration of module chains started using yFirstDaisyChain().

Returns
a pointer to a YDaisyChain object, corresponding to a module chain currently online, or a NULL pointer if there are no more module chains to enumerate.

Definition at line 290 of file yocto_daisychain.cpp.

int YDaisyChain::registerValueCallback ( YDaisyChainValueCallback  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 261 of file yocto_daisychain.cpp.

int YDaisyChain::requiredChildCount ( void  )
inline

Definition at line 149 of file yocto_daisychain.h.

int YDaisyChain::set_requiredChildCount ( int  newval)

Changes the number of child nodes expected in normal conditions. If the value is zero, no check is performed. If it is non-zero, the number child nodes is checked on startup and the status will change to error if the count does not match.

Parameters
newval: an integer corresponding to the number of child nodes expected in normal conditions
Returns
YAPI_SUCCESS if the call succeeds.

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

Definition at line 186 of file yocto_daisychain.cpp.

int YDaisyChain::setRequiredChildCount ( int  newval)
inline

Definition at line 165 of file yocto_daisychain.h.

Friends And Related Function Documentation

YDaisyChain* yFindDaisyChain ( const string &  func)
friend

Retrieves a module chain 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 module chain is online at the time it is invoked. The returned object is nevertheless valid. Use the method YDaisyChain.isOnline() to test if the module chain is indeed online at a given time. In case of ambiguity when looking for a module chain 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 module chain
Returns
a YDaisyChain object allowing you to drive the module chain.

Definition at line 275 of file yocto_daisychain.h.

YDaisyChain* yFirstDaisyChain ( void  )
friend

Starts the enumeration of module chains currently accessible. Use the method YDaisyChain.nextDaisyChain() to iterate on next module chains.

Returns
a pointer to a YDaisyChain object, corresponding to the first module chain currently online, or a NULL pointer if there are none.

Definition at line 286 of file yocto_daisychain.h.

Member Data Documentation

int YDaisyChain::_childCount
protected

Definition at line 87 of file yocto_daisychain.h.

Y_DAISYSTATE_enum YDaisyChain::_daisyState
protected

Definition at line 86 of file yocto_daisychain.h.

int YDaisyChain::_requiredChildCount
protected

Definition at line 88 of file yocto_daisychain.h.

YDaisyChainValueCallback YDaisyChain::_valueCallbackDaisyChain
protected

Definition at line 89 of file yocto_daisychain.h.

const int YDaisyChain::CHILDCOUNT_INVALID = YAPI_INVALID_UINT
static

Definition at line 111 of file yocto_daisychain.h.

const Y_DAISYSTATE_enum YDaisyChain::DAISYSTATE_CHILD_LOST = Y_DAISYSTATE_CHILD_LOST
static

Definition at line 109 of file yocto_daisychain.h.

const Y_DAISYSTATE_enum YDaisyChain::DAISYSTATE_CHILD_MISSING = Y_DAISYSTATE_CHILD_MISSING
static

Definition at line 108 of file yocto_daisychain.h.

const Y_DAISYSTATE_enum YDaisyChain::DAISYSTATE_FIRMWARE_MISMATCH = Y_DAISYSTATE_FIRMWARE_MISMATCH
static

Definition at line 107 of file yocto_daisychain.h.

const Y_DAISYSTATE_enum YDaisyChain::DAISYSTATE_INVALID = Y_DAISYSTATE_INVALID
static

Definition at line 110 of file yocto_daisychain.h.

const Y_DAISYSTATE_enum YDaisyChain::DAISYSTATE_IS_CHILD = Y_DAISYSTATE_IS_CHILD
static

Definition at line 106 of file yocto_daisychain.h.

const Y_DAISYSTATE_enum YDaisyChain::DAISYSTATE_READY = Y_DAISYSTATE_READY
static

Definition at line 105 of file yocto_daisychain.h.

const int YDaisyChain::REQUIREDCHILDCOUNT_INVALID = YAPI_INVALID_UINT
static

Definition at line 112 of file yocto_daisychain.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