38 {
39#if !FASTLED_ENABLE_JSON
40 if (err) {
41 *err = "JSON not enabled";
42 }
43 return false;
44#else
45 JsonDocument doc;
46 Str _err;
47 if (!err) {
48 err = &_err;
49 }
50
51 bool ok =
parseJson(jsonStrScreenMap, &doc, err);
52 if (!ok) {
54 return false;
55 }
56 auto map = doc[
"map"];
57 for (
auto kv :
map.as<FLArduinoJson::JsonObject>()) {
58 auto segment = kv.value();
59 auto x = segment[
"x"];
60 auto y = segment[
"y"];
61 auto obj = segment["diameter"];
62 float diameter = -1.0f;
63 if (obj.is<float>()) {
64 float d = obj.as<float>();
65 if (d > 0.0f) {
66 diameter = d;
67 }
68 }
71 for (uint16_t j = 0; j < n; j++) {
73 }
74 segmentMaps->insert(kv.key().c_str(), segment_map);
75 }
76 return true;
77#endif
78}
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)
pair_xy< float > pair_xy_float