FastLED 3.9.15
Loading...
Searching...
No Matches

◆ ParseJson() [1/2]

bool fl::ScreenMap::ParseJson ( const char * jsonStrScreenMap,
const char * screenMapName,
ScreenMap * screenmap,
Str * err = nullptr )
static

Definition at line 94 of file screenmap.cpp.

96 {
97#if !FASTLED_ENABLE_JSON
98 if (err) {
99 *err = "JSON not enabled";
100 }
101 return false;
102#else
103 FixedMap<Str, ScreenMap, 16> segmentMaps;
104 bool ok = ParseJson(jsonStrScreenMap, &segmentMaps, err);
105 if (!ok) {
106 return false;
107 }
108 if (segmentMaps.size() == 0) {
109 return false;
110 }
111 if (segmentMaps.has(screenMapName)) {
112 *screenmap = segmentMaps[screenMapName];
113 return true;
114 }
115 Str _err = "ScreenMap not found: ";
116 _err.append(screenMapName);
117 if (err) {
118 *err = _err;
119 }
120 FASTLED_WARN(_err.c_str());
121 return false;
122#endif
123}
static bool ParseJson(const char *jsonStrScreenMap, FixedMap< Str, ScreenMap, 16 > *segmentMaps, Str *err=nullptr)
Definition screenmap.cpp:51
#define FASTLED_WARN
Definition warn.h:7

References ScreenMap(), fl::Str::append(), fl::StrN< SIZE >::c_str(), FASTLED_WARN, fl::FixedMap< Key, Value, N >::has(), ParseJson(), and fl::FixedMap< Key, Value, N >::size().

+ Here is the call graph for this function: