Merge remote-tracking branch 'origin/ac_main' into mdev
This commit is contained in:
@@ -2,6 +2,14 @@
|
||||
|
||||
#include "palettes.h"
|
||||
|
||||
#define JSON_PATH_STATE 1
|
||||
#define JSON_PATH_INFO 2
|
||||
#define JSON_PATH_STATE_INFO 3
|
||||
#define JSON_PATH_NODES 4
|
||||
#define JSON_PATH_PALETTES 5
|
||||
#define JSON_PATH_FXDATA 6
|
||||
#define JSON_PATH_NETWORKS 7
|
||||
|
||||
// begin WLEDMM
|
||||
#ifdef ARDUINO_ARCH_ESP32
|
||||
#include <Esp.h>
|
||||
@@ -120,8 +128,8 @@ void deserializeSegment(JsonObject elem, byte it, byte presetId)
|
||||
uint16_t grp = elem["grp"] | seg.grouping;
|
||||
uint16_t spc = elem[F("spc")] | seg.spacing;
|
||||
uint16_t of = seg.offset;
|
||||
uint8_t soundSim = elem["ssim"] | seg.soundSim;
|
||||
uint8_t map1D2D = elem["mp12"] | seg.map1D2D;
|
||||
uint8_t soundSim = elem["si"] | seg.soundSim;
|
||||
uint8_t map1D2D = elem["m12"] | seg.map1D2D;
|
||||
|
||||
//WLEDMM jMap
|
||||
if (map1D2D == M12_jMap && !seg.jMap)
|
||||
@@ -535,8 +543,8 @@ void serializeSegment(JsonObject& root, Segment& seg, byte id, bool forPreset, b
|
||||
root["o1"] = seg.check1;
|
||||
root["o2"] = seg.check2;
|
||||
root["o3"] = seg.check3;
|
||||
root["ssim"] = seg.soundSim;
|
||||
root["mp12"] = seg.map1D2D;
|
||||
root["si"] = seg.soundSim;
|
||||
root["m12"] = seg.map1D2D;
|
||||
}
|
||||
|
||||
void serializeState(JsonObject root, bool forPreset, bool includeBri, bool segmentBounds, bool selectedSegmentsOnly)
|
||||
@@ -1031,6 +1039,35 @@ void serializePalettes(JsonObject root, AsyncWebServerRequest* request)
|
||||
}
|
||||
}
|
||||
|
||||
void serializeNetworks(JsonObject root)
|
||||
{
|
||||
JsonArray networks = root.createNestedArray(F("networks"));
|
||||
int16_t status = WiFi.scanComplete();
|
||||
|
||||
switch (status) {
|
||||
case WIFI_SCAN_FAILED:
|
||||
WiFi.scanNetworks(true);
|
||||
return;
|
||||
case WIFI_SCAN_RUNNING:
|
||||
return;
|
||||
}
|
||||
|
||||
for (int i = 0; i < status; i++) {
|
||||
JsonObject node = networks.createNestedObject();
|
||||
node["ssid"] = WiFi.SSID(i);
|
||||
node["rssi"] = WiFi.RSSI(i);
|
||||
node["bssid"] = WiFi.BSSIDstr(i);
|
||||
node["channel"] = WiFi.channel(i);
|
||||
node["enc"] = WiFi.encryptionType(i);
|
||||
}
|
||||
|
||||
WiFi.scanDelete();
|
||||
|
||||
if (WiFi.scanComplete() == WIFI_SCAN_FAILED) {
|
||||
WiFi.scanNetworks(true);
|
||||
}
|
||||
}
|
||||
|
||||
void serializeNodes(JsonObject root)
|
||||
{
|
||||
JsonArray nodes = root.createNestedArray("nodes");
|
||||
@@ -1081,12 +1118,13 @@ void serveJson(AsyncWebServerRequest* request)
|
||||
{
|
||||
byte subJson = 0;
|
||||
const String& url = request->url();
|
||||
if (url.indexOf("state") > 0) subJson = 1;
|
||||
else if (url.indexOf("info") > 0) subJson = 2;
|
||||
else if (url.indexOf("si") > 0) subJson = 3;
|
||||
else if (url.indexOf("nodes") > 0) subJson = 4;
|
||||
else if (url.indexOf("palx") > 0) subJson = 5;
|
||||
else if (url.indexOf("fxda") > 0) subJson = 6;
|
||||
if (url.indexOf("state") > 0) subJson = JSON_PATH_STATE;
|
||||
else if (url.indexOf("info") > 0) subJson = JSON_PATH_INFO;
|
||||
else if (url.indexOf("si") > 0) subJson = JSON_PATH_STATE_INFO;
|
||||
else if (url.indexOf("nodes") > 0) subJson = JSON_PATH_NODES;
|
||||
else if (url.indexOf("palx") > 0) subJson = JSON_PATH_PALETTES;
|
||||
else if (url.indexOf("fxda") > 0) subJson = JSON_PATH_FXDATA;
|
||||
else if (url.indexOf("net") > 0) subJson = JSON_PATH_NETWORKS;
|
||||
#ifdef WLED_ENABLE_JSONLIVE
|
||||
else if (url.indexOf("live") > 0) {
|
||||
serveLiveLeds(request);
|
||||
@@ -1129,22 +1167,24 @@ void serveJson(AsyncWebServerRequest* request)
|
||||
|
||||
switch (subJson)
|
||||
{
|
||||
case 1: //state
|
||||
case JSON_PATH_STATE:
|
||||
serializeState(lDoc); break;
|
||||
case 2: //info
|
||||
case JSON_PATH_INFO:
|
||||
serializeInfo(lDoc); break;
|
||||
case 4: //node list
|
||||
case JSON_PATH_NODES:
|
||||
serializeNodes(lDoc); break;
|
||||
case 5: //palettes
|
||||
case JSON_PATH_PALETTES:
|
||||
serializePalettes(lDoc, request); break;
|
||||
case 6: // FX helper data
|
||||
case JSON_PATH_FXDATA:
|
||||
serializeModeData(lDoc.as<JsonArray>()); break;
|
||||
case JSON_PATH_NETWORKS:
|
||||
serializeNetworks(lDoc); break;
|
||||
default: //all
|
||||
JsonObject state = lDoc.createNestedObject("state");
|
||||
serializeState(state);
|
||||
JsonObject info = lDoc.createNestedObject("info");
|
||||
serializeInfo(info);
|
||||
if (subJson != 3)
|
||||
if (subJson != JSON_PATH_STATE_INFO)
|
||||
{
|
||||
JsonArray effects = lDoc.createNestedArray(F("effects"));
|
||||
serializeModeNames(effects); // remove WLED-SR extensions from effect names
|
||||
@@ -1202,4 +1242,4 @@ bool serveLiveLeds(AsyncWebServerRequest* request, uint32_t wsClient)
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user