52 {
53#if !FASTLED_ENABLE_JSON
54 if (err) {
55 *err = "JSON not enabled";
56 }
57 return false;
58#else
59 JsonDocument doc;
60 Str _err;
61 if (!err) {
62 err = &_err;
63 }
64
65 bool ok =
parseJson(jsonStrScreenMap, &doc, err);
66 if (!ok) {
68 return false;
69 }
70 auto map = doc[
"map"];
71 for (
auto kv :
map.as<FLArduinoJson::JsonObject>()) {
72 auto segment = kv.value();
73 auto x = segment[
"x"];
74 auto y = segment[
"y"];
75 auto obj = segment["diameter"];
76 float diameter = -1.0f;
77 if (obj.is<float>()) {
78 float d = obj.as<float>();
79 if (d > 0.0f) {
80 diameter = d;
81 }
82 }
85 for (uint16_t j = 0; j < n; j++) {
86 segment_map.set(j,
vec2f{
x[j],
y[j]});
87 }
88 segmentMaps->insert(kv.key().c_str(), segment_map);
89 }
90 return true;
91#endif
92}
long map(long x, long in_min, long in_max, long out_min, long out_max)
bool parseJson(const char *json, fl::JsonDocument *doc, Str *_error)