mirror of
https://gitlab.com/wirelos/sprocket-plugin-gpio.git
synced 2025-12-14 13:26:48 +01:00
23 lines
685 B
C++
23 lines
685 B
C++
#include "AnalogInputPlugin.h"
|
|
|
|
AnalogInputPlugin::AnalogInputPlugin(GpioConfig cfg){
|
|
config = cfg;
|
|
}
|
|
void AnalogInputPlugin::activate(Scheduler *userScheduler)
|
|
{
|
|
inputTask.set(TASK_MILLISECOND * config.updateInterval, TASK_FOREVER, std::bind(&AnalogInputPlugin::checkInput, this));
|
|
userScheduler->addTask(inputTask);
|
|
inputTask.enable();
|
|
PRINT_MSG(Serial, "PLUGIN", "AnalogInputPlugin activated");
|
|
}
|
|
|
|
void AnalogInputPlugin::checkInput()
|
|
{
|
|
int newVal = analogRead(config.pin);
|
|
if ((newVal >= currentVal + config.threshold || newVal <= currentVal - config.threshold))
|
|
{
|
|
publish(config.topic, String(newVal));
|
|
currentVal = newVal;
|
|
}
|
|
}
|