1.3.2 • Published 10 years ago

signal-control-utils v1.3.2

Weekly downloads
12
License
MIT
Repository
github
Last release
10 years ago

signal-control-utils

Utilities for signal processing and control theory in Javascript Inside this library you will find these utilities:

  1. Comparison Perform comparisons. Currently it has only the method "boolean near(value1, value2, diff)" var Comparison = require("signal-control-utils").Comparison; if(Comparison.near(10,11,2)) { console.info("10 is near 11 by less than 2!"); }

  2. MovingAverage Stablish a fixed size moving average, add samples and get the current average. var MovingAverage = require("signal-control-utils").MovingAverage; var speedAverager = new MovingAverage(10, function(avg) {console.info("A new sample was added. Current average is " + avg)}); speedAverager.addSample(12); speedAverager.addSample(5); speedAverager.addSample(21); console.info("Final average: " + speedAverage.getAverage());

  3. SchmittTrigger https://en.wikipedia.org/wiki/Schmitt_trigger var SchmittTrigger = require("signal-control-utils").SchmittTrigger; portSchmittTrigger = new SchmittTrigger( function(value) { console.info("Trigger activated at " + value); }); portSchmittTrigger.setTriggerFixed(10);//only trigger on changes more than 10 from the last triggered value portSchmittTrigger.updateValue(0);//will trigger as this is the first call portSchmittTrigger.updateValue(4);//will not trigger portSchmittTrigger.updateValue(10);//will trigger portSchmittTrigger.updateValue(20);//will trigger portSchmittTrigger.updateValue(25);//will not trigger

  4. SpeedMeter Measures speed based on positions set during time. var SpeedMeter = require("signal-control-utils").SpeedMeter; speedMeter = new SpeedMeter(); speedMeter.updateValue(0);//position 0 speedMeter.updateValue(4);//position 4 speedMeter.updateValue(20);//position 20 speedMeter.updateValue(25);//position 25 console.info("Average speed is " + speedMeter.getCurrentSpeed());

More

See more usage examples at the "test" directory. A complete example of how this can be used can be found https://github.com/flaviostutz/rpi-office-toys

1.3.2

10 years ago

1.3.1

10 years ago

1.3.0

10 years ago

1.2.0

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago