#include <yocto_weighscale.h>
Public Member Functions | |
virtual int | _invokeTimedReportCallback (YMeasure value) |
virtual int | _invokeValueCallback (string value) |
string | command (void) |
double | compensation (void) |
double | compTempAdaptRatio (void) |
double | compTempAvg (void) |
double | compTempChg (void) |
Y_EXCITATION_enum | excitation (void) |
string | get_command (void) |
double | get_compensation (void) |
double | get_compTempAdaptRatio (void) |
double | get_compTempAvg (void) |
double | get_compTempChg (void) |
Y_EXCITATION_enum | get_excitation (void) |
double | get_zeroTracking (void) |
virtual int | loadCompensationTable (int tableIndex, vector< double > &tempValues, vector< double > &compValues) |
virtual int | loadOffsetAvgCompensationTable (vector< double > &tempValues, vector< double > &compValues) |
virtual int | loadOffsetChgCompensationTable (vector< double > &tempValues, vector< double > &compValues) |
virtual int | loadSpanAvgCompensationTable (vector< double > &tempValues, vector< double > &compValues) |
virtual int | loadSpanChgCompensationTable (vector< double > &tempValues, vector< double > &compValues) |
YWeighScale * | next (void) |
YWeighScale * | nextWeighScale (void) |
virtual int | registerTimedReportCallback (YWeighScaleTimedReportCallback callback) |
virtual int | registerValueCallback (YWeighScaleValueCallback callback) |
int | set_command (const string &newval) |
int | set_compTempAdaptRatio (double newval) |
int | set_excitation (Y_EXCITATION_enum newval) |
virtual int | set_offsetAvgCompensationTable (vector< double > tempValues, vector< double > compValues) |
virtual int | set_offsetChgCompensationTable (vector< double > tempValues, vector< double > compValues) |
virtual int | set_spanAvgCompensationTable (vector< double > tempValues, vector< double > compValues) |
virtual int | set_spanChgCompensationTable (vector< double > tempValues, vector< double > compValues) |
int | set_unit (const string &newval) |
int | set_zeroTracking (double newval) |
int | setCommand (const string &newval) |
virtual int | setCompensationTable (int tableIndex, vector< double > tempValues, vector< double > compValues) |
int | setCompTempAdaptRatio (double newval) |
int | setExcitation (Y_EXCITATION_enum newval) |
int | setUnit (const string &newval) |
virtual int | setupSpan (double currWeight, double maxWeight) |
int | setZeroTracking (double newval) |
virtual int | tare (void) |
double | zeroTracking (void) |
~YWeighScale () | |
Public Member Functions inherited from YSensor | |
virtual double | _applyCalibration (double rawValue) |
virtual double | _decodeAvg (int dw) |
virtual YMeasure | _decodeTimedReport (double timestamp, vector< int > report) |
virtual double | _decodeVal (int w) |
virtual string | _encodeCalibrationPoints (vector< double > rawValues, vector< double > refValues) |
virtual int | _parserHelper (void) |
Y_ADVMODE_enum | advMode (void) |
virtual int | calibrateFromPoints (vector< double > rawValues, vector< double > refValues) |
string | calibrationParam (void) |
double | currentRawValue (void) |
double | currentValue (void) |
Y_ADVMODE_enum | get_advMode (void) |
string | get_calibrationParam (void) |
double | get_currentRawValue (void) |
double | get_currentValue (void) |
virtual YDataLogger * | get_dataLogger (void) |
double | get_highestValue (void) |
string | get_logFrequency (void) |
double | get_lowestValue (void) |
virtual YDataSet | get_recordedData (s64 startTime, s64 endTime) |
string | get_reportFrequency (void) |
double | get_resolution (void) |
int | get_sensorState (void) |
string | get_unit (void) |
double | highestValue (void) |
virtual bool | isSensorReady (void) |
virtual int | loadCalibrationPoints (vector< double > &rawValues, vector< double > &refValues) |
string | logFrequency (void) |
double | lowestValue (void) |
YSensor * | next (void) |
YSensor * | nextSensor (void) |
virtual int | registerTimedReportCallback (YSensorTimedReportCallback callback) |
virtual int | registerValueCallback (YSensorValueCallback callback) |
string | reportFrequency (void) |
double | resolution (void) |
int | sensorState (void) |
int | set_advMode (Y_ADVMODE_enum newval) |
int | set_calibrationParam (const string &newval) |
int | set_highestValue (double newval) |
int | set_logFrequency (const string &newval) |
int | set_lowestValue (double newval) |
int | set_reportFrequency (const string &newval) |
int | set_resolution (double newval) |
int | setAdvMode (Y_ADVMODE_enum newval) |
int | setCalibrationParam (const string &newval) |
int | setHighestValue (double newval) |
int | setLogFrequency (const string &newval) |
int | setLowestValue (double newval) |
int | setReportFrequency (const string &newval) |
int | setResolution (double newval) |
virtual int | startDataLogger (void) |
virtual int | stopDataLogger (void) |
string | unit (void) |
~YSensor () | |
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) |
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 YWeighScale * | Find (string func) |
static YWeighScale * | FindWeighScale (string func) |
static YWeighScale * | First (void) |
static YWeighScale * | FirstWeighScale (void) |
Static Public Member Functions inherited from YSensor | |
static YSensor * | Find (string func) |
static YSensor * | FindSensor (string func) |
static YSensor * | First (void) |
static YSensor * | FirstSensor (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) |
YWeighScale (const string &func) | |
Protected Member Functions inherited from YSensor | |
YSensor (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) | |
Friends | |
YWeighScale * | yFindWeighScale (const string &func) |
YWeighScale * | yFirstWeighScale (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 |
YWeighScale Class: WeighScale function interface
The YWeighScale class provides a weight measurement from a ratiometric load cell sensor. It can be used to control the bridge excitation parameters, in order to avoid measure shifts caused by temperature variation in the electronics, and can also automatically apply an additional correction factor based on temperature to compensate for offsets in the load cell itself.
Definition at line 84 of file yocto_weighscale.h.
|
protected |
Definition at line 51 of file yocto_weighscale.cpp.
YWeighScale::~YWeighScale | ( | ) |
Definition at line 67 of file yocto_weighscale.cpp.
|
virtual |
Reimplemented from YSensor.
Definition at line 545 of file yocto_weighscale.cpp.
|
virtual |
Reimplemented from YSensor.
Definition at line 511 of file yocto_weighscale.cpp.
|
protectedvirtual |
Reimplemented from YSensor.
Definition at line 81 of file yocto_weighscale.cpp.
|
inline |
Definition at line 266 of file yocto_weighscale.h.
|
inline |
Definition at line 234 of file yocto_weighscale.h.
|
inline |
Definition at line 197 of file yocto_weighscale.h.
|
inline |
Definition at line 209 of file yocto_weighscale.h.
|
inline |
Definition at line 222 of file yocto_weighscale.h.
|
inline |
Definition at line 152 of file yocto_weighscale.h.
|
inlinestatic |
Definition at line 498 of file yocto_weighscale.h.
|
static |
Retrieves a weighing scale sensor for a given identifier. The identifier can be specified using several formats:
This function does not require that the weighing scale sensor is online at the time it is invoked. The returned object is nevertheless valid. Use the method YWeighScale.isOnline() to test if the weighing scale sensor is indeed online at a given time. In case of ambiguity when looking for a weighing scale sensor 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 weighing scale sensor |
Definition at line 460 of file yocto_weighscale.cpp.
|
inlinestatic |
Definition at line 522 of file yocto_weighscale.h.
|
static |
Starts the enumeration of weighing scale sensors currently accessible. Use the method YWeighScale.nextWeighScale() to iterate on next weighing scale sensors.
Definition at line 837 of file yocto_weighscale.cpp.
string YWeighScale::get_command | ( | void | ) |
Definition at line 395 of file yocto_weighscale.cpp.
double YWeighScale::get_compensation | ( | void | ) |
Returns the current current thermal compensation value.
On failure, throws an exception or returns Y_COMPENSATION_INVALID.
Definition at line 317 of file yocto_weighscale.cpp.
double YWeighScale::get_compTempAdaptRatio | ( | void | ) |
Returns the averaged temperature update rate, in percents. The averaged temperature is updated every 10 seconds, by applying this adaptation rate to the difference between the measures ambiant temperature and the current compensation temperature. The standard rate is 0.04 percents, and the maximal rate is 65 percents.
On failure, throws an exception or returns Y_COMPTEMPADAPTRATIO_INVALID.
Definition at line 229 of file yocto_weighscale.cpp.
double YWeighScale::get_compTempAvg | ( | void | ) |
Returns the current averaged temperature, used for thermal compensation.
On failure, throws an exception or returns Y_COMPTEMPAVG_INVALID.
Definition at line 258 of file yocto_weighscale.cpp.
double YWeighScale::get_compTempChg | ( | void | ) |
Returns the current temperature variation, used for thermal compensation.
On failure, throws an exception or returns Y_COMPTEMPCHG_INVALID.
Definition at line 288 of file yocto_weighscale.cpp.
Y_EXCITATION_enum YWeighScale::get_excitation | ( | void | ) |
Returns the current load cell bridge excitation method.
On failure, throws an exception or returns Y_EXCITATION_INVALID.
Definition at line 143 of file yocto_weighscale.cpp.
double YWeighScale::get_zeroTracking | ( | void | ) |
Returns the zero tracking threshold value. When this threshold is larger than zero, any measure under the threshold will automatically be ignored and the zero compensation will be updated.
On failure, throws an exception or returns Y_ZEROTRACKING_INVALID.
Definition at line 373 of file yocto_weighscale.cpp.
|
virtual |
Definition at line 638 of file yocto_weighscale.cpp.
|
virtual |
Retrieves the weight offset thermal compensation table previously configured using the set_offsetAvgCompensationTable function. The weight correction is applied by linear interpolation between specified points.
tempValues | : array of floating point numbers, that is filled by the function with all averaged temperatures for which an offset correction is specified. |
compValues | : array of floating point numbers, that is filled by the function with the offset correction applied for each of the temperature included in the first argument, index by index. |
On failure, throws an exception or returns a negative error code.
Definition at line 702 of file yocto_weighscale.cpp.
|
virtual |
Retrieves the weight offset thermal compensation table previously configured using the set_offsetChgCompensationTable function. The weight correction is applied by linear interpolation between specified points.
tempValues | : array of floating point numbers, that is filled by the function with all temperature variations for which an offset correction is specified. |
compValues | : array of floating point numbers, that is filled by the function with the offset correction applied for each of the temperature variation included in the first argument, index by index. |
On failure, throws an exception or returns a negative error code.
Definition at line 742 of file yocto_weighscale.cpp.
|
virtual |
Retrieves the weight span thermal compensation table previously configured using the set_spanAvgCompensationTable function. The weight correction is applied by linear interpolation between specified points.
tempValues | : array of floating point numbers, that is filled by the function with all averaged temperatures for which an span correction is specified. |
compValues | : array of floating point numbers, that is filled by the function with the span correction applied for each of the temperature included in the first argument, index by index. |
On failure, throws an exception or returns a negative error code.
Definition at line 782 of file yocto_weighscale.cpp.
|
virtual |
Retrieves the weight span thermal compensation table previously configured using the set_spanChgCompensationTable function. The weight correction is applied by linear interpolation between specified points.
tempValues | : array of floating point numbers, that is filled by the function with all variation of temperature for which an span correction is specified. |
compValues | : array of floating point numbers, that is filled by the function with the span correction applied for each of variation of temperature included in the first argument, index by index. |
On failure, throws an exception or returns a negative error code.
Definition at line 822 of file yocto_weighscale.cpp.
|
inline |
Definition at line 509 of file yocto_weighscale.h.
YWeighScale * YWeighScale::nextWeighScale | ( | void | ) |
Continues the enumeration of weighing scale sensors started using yFirstWeighScale().
Definition at line 827 of file yocto_weighscale.cpp.
|
virtual |
Registers the callback function that is invoked on every periodic timed notification. 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 an YMeasure object describing the new advertised value. |
Definition at line 532 of file yocto_weighscale.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 492 of file yocto_weighscale.cpp.
int YWeighScale::set_command | ( | const string & | newval | ) |
Definition at line 417 of file yocto_weighscale.cpp.
int YWeighScale::set_compTempAdaptRatio | ( | double | newval | ) |
Changes the averaged temperature update rate, in percents. The averaged temperature is updated every 10 seconds, by applying this adaptation rate to the difference between the measures ambiant temperature and the current compensation temperature. The standard rate is 0.04 percents, and the maximal rate is 65 percents.
newval | : a floating point number corresponding to the averaged temperature update rate, in percents |
On failure, throws an exception or returns a negative error code.
Definition at line 203 of file yocto_weighscale.cpp.
int YWeighScale::set_excitation | ( | Y_EXCITATION_enum | newval | ) |
Changes the current load cell bridge excitation method.
newval | : a value among Y_EXCITATION_OFF, Y_EXCITATION_DC and Y_EXCITATION_AC corresponding to the current load cell bridge excitation method |
On failure, throws an exception or returns a negative error code.
Definition at line 175 of file yocto_weighscale.cpp.
|
virtual |
Records a weight offset thermal compensation table, in order to automatically correct the measured weight based on the averaged compensation temperature. The weight correction will be applied by linear interpolation between specified points.
tempValues | : array of floating point numbers, corresponding to all averaged temperatures for which an offset correction is specified. |
compValues | : array of floating point numbers, corresponding to the offset correction to apply for each of the temperature included in the first argument, index by index. |
On failure, throws an exception or returns a negative error code.
Definition at line 682 of file yocto_weighscale.cpp.
|
virtual |
Records a weight offset thermal compensation table, in order to automatically correct the measured weight based on the variation of temperature. The weight correction will be applied by linear interpolation between specified points.
tempValues | : array of floating point numbers, corresponding to temperature variations for which an offset correction is specified. |
compValues | : array of floating point numbers, corresponding to the offset correction to apply for each of the temperature variation included in the first argument, index by index. |
On failure, throws an exception or returns a negative error code.
Definition at line 722 of file yocto_weighscale.cpp.
|
virtual |
Records a weight span thermal compensation table, in order to automatically correct the measured weight based on the compensation temperature. The weight correction will be applied by linear interpolation between specified points.
tempValues | : array of floating point numbers, corresponding to all averaged temperatures for which a span correction is specified. |
compValues | : array of floating point numbers, corresponding to the span correction (in percents) to apply for each of the temperature included in the first argument, index by index. |
On failure, throws an exception or returns a negative error code.
Definition at line 762 of file yocto_weighscale.cpp.
|
virtual |
Records a weight span thermal compensation table, in order to automatically correct the measured weight based on the variation of temperature. The weight correction will be applied by linear interpolation between specified points.
tempValues | : array of floating point numbers, corresponding to all variations of temperatures for which a span correction is specified. |
compValues | : array of floating point numbers, corresponding to the span correction (in percents) to apply for each of the temperature variation included in the first argument, index by index. |
On failure, throws an exception or returns a negative error code.
Definition at line 802 of file yocto_weighscale.cpp.
int YWeighScale::set_unit | ( | const string & | newval | ) |
Changes the measuring unit for the weight. Remember to call the saveToFlash() method of the module if the modification must be kept.
newval | : a string corresponding to the measuring unit for the weight |
On failure, throws an exception or returns a negative error code.
Definition at line 119 of file yocto_weighscale.cpp.
int YWeighScale::set_zeroTracking | ( | double | newval | ) |
Changes the compensation temperature update rate, in percents.
newval | : a floating point number corresponding to the compensation temperature update rate, in percents |
On failure, throws an exception or returns a negative error code.
Definition at line 348 of file yocto_weighscale.cpp.
|
inline |
Definition at line 270 of file yocto_weighscale.h.
|
virtual |
Definition at line 584 of file yocto_weighscale.cpp.
|
inline |
Definition at line 182 of file yocto_weighscale.h.
|
inline |
Definition at line 166 of file yocto_weighscale.h.
|
inline |
Definition at line 139 of file yocto_weighscale.h.
|
virtual |
Configures the load cell span parameters (stored in the corresponding genericSensor) so that the current signal corresponds to the specified reference weight.
currWeight | : reference weight presently on the load cell. |
maxWeight | : maximum weight to be expectect on the load cell. |
On failure, throws an exception or returns a negative error code.
Definition at line 579 of file yocto_weighscale.cpp.
|
inline |
Definition at line 247 of file yocto_weighscale.h.
|
virtual |
Adapts the load cell signal bias (stored in the corresponding genericSensor) so that the current signal corresponds to a zero weight.
On failure, throws an exception or returns a negative error code.
Definition at line 563 of file yocto_weighscale.cpp.
|
inline |
Definition at line 261 of file yocto_weighscale.h.
|
friend |
Retrieves a weighing scale sensor for a given identifier. The identifier can be specified using several formats:
This function does not require that the weighing scale sensor is online at the time it is invoked. The returned object is nevertheless valid. Use the method YWeighScale.isOnline() to test if the weighing scale sensor is indeed online at a given time. In case of ambiguity when looking for a weighing scale sensor 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 weighing scale sensor |
Definition at line 559 of file yocto_weighscale.h.
|
friend |
Starts the enumeration of weighing scale sensors currently accessible. Use the method YWeighScale.nextWeighScale() to iterate on next weighing scale sensors.
Definition at line 570 of file yocto_weighscale.h.
|
protected |
Definition at line 98 of file yocto_weighscale.h.
|
protected |
Definition at line 96 of file yocto_weighscale.h.
|
protected |
Definition at line 93 of file yocto_weighscale.h.
|
protected |
Definition at line 94 of file yocto_weighscale.h.
|
protected |
Definition at line 95 of file yocto_weighscale.h.
|
protected |
Definition at line 92 of file yocto_weighscale.h.
|
protected |
Definition at line 100 of file yocto_weighscale.h.
|
protected |
Definition at line 99 of file yocto_weighscale.h.
|
protected |
Definition at line 97 of file yocto_weighscale.h.
|
static |
Definition at line 125 of file yocto_weighscale.h.
|
static |
Definition at line 123 of file yocto_weighscale.h.
|
static |
Definition at line 120 of file yocto_weighscale.h.
|
static |
Definition at line 121 of file yocto_weighscale.h.
|
static |
Definition at line 122 of file yocto_weighscale.h.
|
static |
Definition at line 118 of file yocto_weighscale.h.
|
static |
Definition at line 117 of file yocto_weighscale.h.
|
static |
Definition at line 119 of file yocto_weighscale.h.
|
static |
Definition at line 116 of file yocto_weighscale.h.
|
static |
Definition at line 124 of file yocto_weighscale.h.