Skip to content

Examples Filters

Luis Llamas edited this page Apr 25, 2019 · 6 revisions

OnRising/OnFalling

#include "ReactiveArduinoLib.h"

int values[] = { 0, 1, 1, 2, 1, 5, 4, 2, 6, 2, 4 };
size_t valuesLength = sizeof(values) / sizeof(values[0]);

void setup()
{
	Serial.begin(9600);
	while (!Serial) delay(1);

	Reactive::FromArray<int>(values, valuesLength)
	>> Reactive::OnFalling<int>()  //OnRising or OnFalling
	>> Reactive::ToSerial<int>();
}

void loop()
{
}

Median3/Median5

#include "ReactiveArduinoLib.h"

int values[] = { 0, 1, 1, 2, 1, 5, 4, 2, 6, 2, 4 };
size_t valuesLength = sizeof(values) / sizeof(values[0]);

void setup()
{
	Serial.begin(9600);
	while (!Serial) delay(1);

	Reactive::FromArray<int>(values, valuesLength)
	>> Reactive::Median3<int>() // Median3 or Median5
	>> Reactive::ToSerial<int>();
}

void loop()
{
}

MovingAverage/MovingRMS

#include "ReactiveArduinoLib.h"

int values[] = { 0, 1, 1, 2, 1, 5, 4, 2, 6, 2, 4 };
size_t valuesLength = sizeof(values) / sizeof(values[0]);

void setup()
{
	Serial.begin(9600);
	while (!Serial) delay(1);

	Reactive::FromArray<int>(values, valuesLength)
	>> Reactive::MovingAverage<int>(4)  //MovingAverage or MovingRMS
	>> Reactive::ToSerial<int>();
}

void loop()
{
}

LowPass/HighPass

#include "ReactiveArduinoLib.h"

int values[] = { 0, 1, 1, 2, 1, 5, 4, 2, 6, 2, 4 };
size_t valuesLength = sizeof(values) / sizeof(values[0]);

void setup()
{
	Serial.begin(9600);
	while (!Serial) delay(1);

	Reactive::FromArray<int>(values, valuesLength)
	>> Reactive::Cast<int, float>()
	>> Reactive::LowPass<float>(0.4)  //LowPass or HighPass
	>> Reactive::ToSerial<float>();
}

void loop()
{
}

PassBand/StopBand

#include "ReactiveArduinoLib.h"

int values[] = { 0, 1, 1, 2, 1, 5, 4, 2, 6, 2, 4 }; size_t valuesLength = sizeof(values) / sizeof(values[0]);

void setup() { Serial.begin(9600); while (!Serial) delay(1);

Reactive::FromArray<int>(values, valuesLength)
>> Reactive::Cast<int, float>()
>> Reactive::PassBand<float>(0.35, 0.65) //PassBand or StopBand
>> Reactive::ToSerial<float>();

}

void loop() { }

Clone this wiki locally