@lal12/node-red-curve
v1.0.2
Published
Node to calculate output by a given mathematical function expression
Downloads
37
Maintainers
Readme
node-red-curve
A fork (with bugfixes and improvements) of https://github.com/sbarwe/node-red-contrib-curve.
A function node for a mathematical expression f(x) for creating simulation data, characteristics, calibration data and other numerical output based on a numeric input.
easy expression formula like x^2, sqrt(x), nthRoot(x), exp(x), sin(x), cos(x) etc. (see function-plot)
define which property from
msg
to use for x value inputuse Mustache-Syntax to include variables from
msg
orcontext
Use the modulo-operator (%) to create infinite ranged functions like easings.
Examples:
Node Settings
Value x
The property from msg to use for the value x for the function input
Function
A function f(x) defined according to built-in-math-eval as a function expression. You can use Mustache-Syntax to include values from the flow
or global
context or msg
. The function would then be reevaluated on each input.
The function can be overriden by a provided msg.function
as input.
Performance
The node is most performant when not using Mustache-Syntax or redefine function expression via msg.function as this leads to an recompilation of the function expression with each incoming msg
. There is currently no function expression cache. This node will reuse the incoming msg
for its output.
Note: to gain more performance use a function-node for calculation. This is more a convenient node for easier setup of curves.
Details
When using Mustache-Syntax these values will be replaces bei "0" for the preview window, so function may not get plotted correctly. You can use the node-red-contrib-counter node to create a continous input stream of (0,1,2,4,5,6...).
This node uses the work of Mauricio Poppe for visualization and function expression parsing. This node-red node is just a wrapper around this library.
Changes
See Change Log for details
Discussions and suggestions
Use the GitHub issues log for raising issues or contributing suggestions and enhancements.
Contributing
If you would like to contribute to this node, you can contact the autor via GitHub or raise a request in the GitHub issues log.
Developers/Contributors
- newest version lal12
- Based on function-plot work of Mauricio Poppe
- original Node-RED node wrapper Sebastian Barwe
- Node template from Julian Knight