1.3.2 • Published 8 years ago

signal-control-utils v1.3.2

Weekly downloads
12
License
MIT
Repository
github
Last release
8 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

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.2.0

8 years ago

1.1.2

8 years ago

1.1.1

8 years ago

1.1.0

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago