Ayuda con Librerias

Hola comunidad

Estoy creando una librería en arduino, y tengo un problema con el código.
El problema es en un ejemplo para hacer fusionar la librería, estos son:

CÓDIGO SignalFilterOrder1.cpp

//filtro pasa altos con frecuencia de corte de 0.05 Hz
#include <Arduino.h>
#include <SignalFilterOrder1.h>
/// Constructor
SignalFilterOrder1::SignalFilterOrder1()
{
  _v[0]=0.0;
  //_v[1]=0.0;
  //_v[2]=0.0;
}
/// runButterworth: Runs the actual filter: input=rawdata, output=filtered data
float SignalFilterOrder1::runButterworth(float data)
{ 
    _v[0] = _v[1];
    _v[1] = (9.999842922835e-1 * data) + (0.9999685846 * _v[0]);
    return (_v[1] - _v[0]);
}

CÓDIGO SignalFilterOrder1.h

//libreria de filtro butterworth de 0.05 Hz
#ifndef SignalFilterOrder1_h
#define SignalFilterOrder1_h
#include <Arduino.h>

class SignalFilterOrder1
{
  public:
    SignalFilterOrder1();
    int run(float data);
    
  private:
    float runButterworth(float data);
    float _v[2];

};
#endif

EJEMPLO DE PRUEBA:

#include <SignalFilterOrder1.h>
SignalFilterOrder1 Filter;
int value;
float val;
float filtered;
void setup(){
  Serial.begin(9600);
}
void loop(){
  value = analogRead(A0);
  val = value * 0.034;
  filtered = Filter.run(val);  
}

El tipo de error es el siguiente undefined reference to `SignalFilterOrder1::run(float)'

Hola.
Aunque has declarado el método run en el archivo.h de la librería, no has definido en ningún lugar la función correspondiente.

Es cierto :grin: , tienes razón, gracias por ese pequeño detalle....