mirror of
https://gitlab.com/wirelos/sprocket-plugin-neopixel.git
synced 2025-12-14 05:46:50 +01:00
64 lines
2.0 KiB
C
64 lines
2.0 KiB
C
#ifndef __NEOPATTERN_STATE__
|
|
#define __NEOPATTERN_STATE__
|
|
|
|
#include <ArduinoJson.h>
|
|
#include "utils/utils_print.h"
|
|
#include "JsonStruct.h"
|
|
|
|
|
|
struct NeoPixelConfig : public JsonStruct {
|
|
// FIXME constants!
|
|
int pin = 4;
|
|
int length = 8;
|
|
int brightness = 100;
|
|
int updateInterval = 100;
|
|
int defaultColor = 100; // FIXME remove unused
|
|
void mapJsonObject(JsonObject& root) {
|
|
root["pin"] = pin;
|
|
root["length"] = length;
|
|
root["brightness"] = brightness;
|
|
root["updateInterval"] = updateInterval;
|
|
root["defaultColor"] = defaultColor;
|
|
}
|
|
void fromJsonObject(JsonObject& json) {
|
|
pin = getIntAttrFromJson(json, "pin", pin);
|
|
length = getIntAttrFromJson(json, "length", length);
|
|
brightness = getIntAttrFromJson(json, "brightness", brightness);
|
|
updateInterval = getIntAttrFromJson(json, "updateInterval", updateInterval);
|
|
defaultColor = getIntAttrFromJson(json, "defaultColor", defaultColor);
|
|
}
|
|
};
|
|
|
|
struct NeoPatternState : public JsonStruct {
|
|
uint pattern = 0;
|
|
uint color= 0;
|
|
uint color2= 0;
|
|
uint totalSteps = 16;
|
|
uint brightness = 64;
|
|
|
|
void mapJsonObject(JsonObject& root) {
|
|
root["pattern"] = pattern;
|
|
root["color"] = color;
|
|
root["color2"] = color2;
|
|
root["totalSteps"] = totalSteps;
|
|
root["brightness"] = brightness;
|
|
|
|
}
|
|
// Map a json object to this struct.
|
|
void fromJsonObject(JsonObject& json){
|
|
if(!verifyJsonObject(json)){
|
|
PRINT_MSG(Serial, "fromJsonObject", "cannot parse JSON");
|
|
valid = 0;
|
|
return;
|
|
}
|
|
color = getIntAttrFromJson(json, "color", color);
|
|
color2 = getIntAttrFromJson(json, "color2", color2);
|
|
pattern = getIntAttrFromJson(json, "pattern", pattern);
|
|
brightness = getIntAttrFromJson(json, "brightness", brightness);
|
|
totalSteps = getIntAttrFromJson(json, "totalSteps", totalSteps);
|
|
valid = 1;
|
|
};
|
|
};
|
|
|
|
|
|
#endif |