FastLED 3.10.6
Loading...
Searching...
No Matches
bus_info.json.h
Go to the documentation of this file.
1#pragma once
2
5
7#include "fl/stl/json.h"
8
9namespace fl {
10
11template<Bus B, fl::u8 Which = 0>
13 const DeviceInfo info = deviceInfo<B, Which>();
15 out.set("bus", static_cast<i64>(static_cast<int>(info.bus)));
16 out.set("bus_name", info.bus_name);
17 out.set("vendor_name", info.vendor_name);
18 out.set("device_name", info.device_name);
19 out.set("which", static_cast<i64>(info.which));
20 out.set("is_noop", info.is_noop);
21 out.set("notes", info.notes);
22
23 fl::json runtime = fl::json::object();
24 runtime.set("available", info.runtime.available);
25 runtime.set("initialized", info.runtime.initialized);
26 runtime.set("ready", info.runtime.ready);
27 runtime.set("busy", info.runtime.busy);
28 runtime.set("error", info.runtime.error);
29 out.set("runtime", runtime);
30 return out;
31}
32
33} // namespace fl
Portable bus/device introspection.
void set(const fl::string &key, const json &value) FL_NO_EXCEPT
Definition json.h:866
static json object() FL_NO_EXCEPT
Definition json.h:857
FastLED's Elegant JSON Library: fl::json
DeviceInfo deviceInfo() FL_NO_EXCEPT
Definition bus_info.h:294
fl::json deviceJson()
Base definition for an LED controller.
Definition crgb.hpp:179
fl::i64 i64
Definition stdint.h:221
const char * bus_name
Definition bus_info.h:34
const char * device_name
Definition bus_info.h:36
DeviceRuntime runtime
Definition bus_info.h:39
fl::u8 which
Definition bus_info.h:33
const char * notes
Definition bus_info.h:37
const char * vendor_name
Definition bus_info.h:35
const char * error
Definition bus_info.h:17