mirror of
https://gitlab.com/wirelos/sprocket-plugin-gpio.git
synced 2025-12-16 06:04:30 +01:00
rename pot to analog as it is quite a generic way to read the input
This commit is contained in:
22
src/inputs/analog/AnalogInputPlugin.cpp
Normal file
22
src/inputs/analog/AnalogInputPlugin.cpp
Normal file
@@ -0,0 +1,22 @@
|
||||
#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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user