mirror of
https://gitlab.com/zwirbel/illucat.git
synced 2025-12-14 17:35:22 +01:00
poti plugin to control color wheel
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
#include <plugins/WebServerPlugin.cpp>
|
#include <plugins/WebServerPlugin.cpp>
|
||||||
#include <plugins/WebConfigPlugin.cpp>
|
#include <plugins/WebConfigPlugin.cpp>
|
||||||
#include "PixelPlugin.h"
|
#include "PixelPlugin.h"
|
||||||
|
#include "PotPlugin.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace std::placeholders;
|
using namespace std::placeholders;
|
||||||
@@ -80,6 +81,7 @@ class IlluCat : public MeshSprocket {
|
|||||||
addPlugin(new WebServerPlugin(webConfig, server));
|
addPlugin(new WebServerPlugin(webConfig, server));
|
||||||
addPlugin(new WebConfigPlugin(server));
|
addPlugin(new WebConfigPlugin(server));
|
||||||
addPlugin(new PixelPlugin(pixelConfig, pixels));
|
addPlugin(new PixelPlugin(pixelConfig, pixels));
|
||||||
|
addPlugin(new PotPlugin());
|
||||||
defaultAnimation();
|
defaultAnimation();
|
||||||
|
|
||||||
String softApPrt = "SoftAP IP: " + WiFi.softAPIP().toString();
|
String softApPrt = "SoftAP IP: " + WiFi.softAPIP().toString();
|
||||||
|
|||||||
40
src/PotPlugin.h
Normal file
40
src/PotPlugin.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#ifndef __POT_PLUGIN_H__
|
||||||
|
#define __POT_PLUGIN_H__
|
||||||
|
|
||||||
|
#include <FS.h>
|
||||||
|
#include "TaskSchedulerDeclarations.h"
|
||||||
|
#include "ArduinoOTA.h"
|
||||||
|
#include "Plugin.h"
|
||||||
|
#include "utils_print.h"
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
using namespace std::placeholders;
|
||||||
|
|
||||||
|
class PotPlugin : public Plugin {
|
||||||
|
public:
|
||||||
|
Task inputTask;
|
||||||
|
int currentVal = 0;
|
||||||
|
PotPlugin(){
|
||||||
|
}
|
||||||
|
void activate(Scheduler* userScheduler, Network* network){
|
||||||
|
inputTask.set(TASK_MILLISECOND * 50, TASK_FOREVER, bind(&PotPlugin::checkInput, this));
|
||||||
|
userScheduler->addTask(inputTask);
|
||||||
|
inputTask.enable();
|
||||||
|
PRINT_MSG(Serial, SPROCKET_TYPE, "PotPlugin activated");
|
||||||
|
}
|
||||||
|
long toRange(long x, long in_min, long in_max, long out_min, long out_max){
|
||||||
|
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
|
||||||
|
}
|
||||||
|
void checkInput(){
|
||||||
|
//Serial.println(String("Pot:") + String(analogRead(A0)));
|
||||||
|
int newVal = toRange(analogRead(A0), 0, 1024, 0, 255);
|
||||||
|
if(newVal > 0 &&
|
||||||
|
(newVal >= currentVal + 5 || newVal <= currentVal - 5)){
|
||||||
|
publish("pixels/colorWheel",String(newVal));
|
||||||
|
currentVal = newVal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user