Merge remote-tracking branch 'origin/main' into mdev
This commit is contained in:
2949
package-lock.json
generated
2949
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wled",
|
||||
"version": "0.14.0.1.1_MM",
|
||||
"version": "0.14.0.2.0_MM",
|
||||
"description": "Tools for WLED project",
|
||||
"main": "tools/cdata.js",
|
||||
"directories": {
|
||||
|
||||
@@ -41,15 +41,16 @@
|
||||
; MoonModules entries
|
||||
; ===================
|
||||
|
||||
; default_envs = esp32_4MB_min, esp32_4MB_max, esp32_16MB_max, esp8266_4MB_min, esp32_4MB_PSRAM_max, esp32S3_8MB_max, wemos_shield_esp32_4MB_max, wemos_shield_esp32_16MB_max
|
||||
; default_envs = esp32_4MB_min, esp32_4MB_max, esp32_16MB_max, esp8266_4MB_min, esp32_4MB_PSRAM_max, esp32S3_8MB_max, wemos_shield_esp32_4MB_max, wemos_shield_esp32_16MB_max, esp32_pico_4MB_max
|
||||
; default_envs = esp32_4MB_min
|
||||
default_envs = esp32_4MB_max ; recommended
|
||||
default_envs = esp32_4MB_max ; recommended default
|
||||
; default_envs = esp32_16MB_max
|
||||
; default_envs = esp8266_4MB_min
|
||||
; default_envs = esp32_4MB_PSRAM_max
|
||||
; default_envs = esp32S3_8MB_max
|
||||
; default_envs = wemos_shield_esp32_4MB_max
|
||||
; default_envs = wemos_shield_esp32_16MB_max
|
||||
; default_envs = esp32_pico_4MB_max
|
||||
|
||||
|
||||
src_dir = ./wled00
|
||||
|
||||
@@ -65,7 +65,7 @@ class Animated_Staircase : public Usermod {
|
||||
// The maximum number of configured segments.
|
||||
// Dynamically updated based on user configuration.
|
||||
byte maxSegmentId = 1;
|
||||
byte mainSegmentId = 0;
|
||||
byte minSegmentId = 0;
|
||||
|
||||
// These values are used by the API to read the
|
||||
// last sensor state, or trigger a sensor
|
||||
@@ -91,8 +91,7 @@ class Animated_Staircase : public Usermod {
|
||||
static const char _topEchoCm[];
|
||||
static const char _bottomEchoCm[];
|
||||
|
||||
void publishMqtt(bool bottom, const char* state)
|
||||
{
|
||||
void publishMqtt(bool bottom, const char* state) {
|
||||
//Check if MQTT Connected, otherwise it will crash the 8266
|
||||
if (WLED_MQTT_CONNECTED){
|
||||
char subuf[64];
|
||||
@@ -102,16 +101,11 @@ class Animated_Staircase : public Usermod {
|
||||
}
|
||||
|
||||
void updateSegments() {
|
||||
mainSegmentId = strip.getMainSegmentId();
|
||||
for (int i = 0; i < strip.getSegmentsNum(); i++) {
|
||||
for (int i = minSegmentId; i < maxSegmentId; i++) {
|
||||
Segment &seg = strip.getSegment(i);
|
||||
if (!seg.isActive()) {
|
||||
maxSegmentId = i - 1;
|
||||
break;
|
||||
}
|
||||
if (!seg.isActive()) continue; // skip gaps
|
||||
if (i >= onIndex && i < offIndex) {
|
||||
seg.setOption(SEG_OPTION_ON, true);
|
||||
|
||||
// We may need to copy mode and colors from segment 0 to make sure
|
||||
// changes are propagated even when the config is changed during a wipe
|
||||
// seg.setMode(mainsegment.mode);
|
||||
@@ -120,8 +114,10 @@ class Animated_Staircase : public Usermod {
|
||||
seg.setOption(SEG_OPTION_ON, false);
|
||||
}
|
||||
// Always mark segments as "transitional", we are animating the staircase
|
||||
seg.setOption(SEG_OPTION_TRANSITIONAL, true);
|
||||
//seg.setOption(SEG_OPTION_TRANSITIONAL, true); // not needed anymore as setOption() does it
|
||||
}
|
||||
strip.trigger(); // force strip refresh
|
||||
stateChanged = true; // inform external devices/UI of change
|
||||
colorUpdated(CALL_MODE_DIRECT_CHANGE);
|
||||
}
|
||||
|
||||
@@ -207,9 +203,9 @@ class Animated_Staircase : public Usermod {
|
||||
if (onIndex == offIndex) {
|
||||
// Position the indices for a correct on-swipe
|
||||
if (swipe == SWIPE_UP) {
|
||||
onIndex = mainSegmentId;
|
||||
onIndex = minSegmentId;
|
||||
} else {
|
||||
onIndex = maxSegmentId+1;
|
||||
onIndex = maxSegmentId;
|
||||
}
|
||||
offIndex = onIndex;
|
||||
}
|
||||
@@ -221,7 +217,7 @@ class Animated_Staircase : public Usermod {
|
||||
}
|
||||
|
||||
void autoPowerOff() {
|
||||
if (on && ((millis() - lastSwitchTime) > on_time_ms)) {
|
||||
if ((millis() - lastSwitchTime) > on_time_ms) {
|
||||
// if sensors are still on, do nothing
|
||||
if (bottomSensorState || topSensorState) return;
|
||||
|
||||
@@ -238,10 +234,12 @@ class Animated_Staircase : public Usermod {
|
||||
if ((millis() - lastTime) > segment_delay_ms) {
|
||||
lastTime = millis();
|
||||
|
||||
byte oldOn = onIndex;
|
||||
byte oldOff = offIndex;
|
||||
if (on) {
|
||||
// Turn on all segments
|
||||
onIndex = MAX(mainSegmentId, onIndex - 1);
|
||||
offIndex = MIN(maxSegmentId + 1, offIndex + 1);
|
||||
onIndex = MAX(minSegmentId, onIndex - 1);
|
||||
offIndex = MIN(maxSegmentId, offIndex + 1);
|
||||
} else {
|
||||
if (swipe == SWIPE_UP) {
|
||||
onIndex = MIN(offIndex, onIndex + 1);
|
||||
@@ -249,7 +247,7 @@ class Animated_Staircase : public Usermod {
|
||||
offIndex = MAX(onIndex, offIndex - 1);
|
||||
}
|
||||
}
|
||||
updateSegments();
|
||||
if (oldOn != onIndex || oldOff != offIndex) updateSegments(); // reduce the number of updates to necessary ones
|
||||
}
|
||||
}
|
||||
|
||||
@@ -287,16 +285,22 @@ class Animated_Staircase : public Usermod {
|
||||
pinMode(topPIRorTriggerPin, OUTPUT);
|
||||
pinMode(topEchoPin, INPUT);
|
||||
}
|
||||
onIndex = minSegmentId = strip.getMainSegmentId(); // it may not be the best idea to start with main segment as it may not be the first one
|
||||
offIndex = maxSegmentId = strip.getLastActiveSegmentId() + 1;
|
||||
|
||||
// shorten the strip transition time to be equal or shorter than segment delay
|
||||
transitionDelayTemp = transitionDelay = segment_delay_ms;
|
||||
strip.setTransition(segment_delay_ms/100);
|
||||
strip.trigger();
|
||||
} else {
|
||||
// Restore segment options
|
||||
for (int i = 0; i < strip.getSegmentsNum(); i++) {
|
||||
for (int i = 0; i <= strip.getLastActiveSegmentId(); i++) {
|
||||
Segment &seg = strip.getSegment(i);
|
||||
if (!seg.isActive()) {
|
||||
maxSegmentId = i - 1;
|
||||
break;
|
||||
}
|
||||
if (!seg.isActive()) continue; // skip vector gaps
|
||||
seg.setOption(SEG_OPTION_ON, true);
|
||||
}
|
||||
strip.trigger(); // force strip update
|
||||
stateChanged = true; // inform external dvices/UI of change
|
||||
colorUpdated(CALL_MODE_DIRECT_CHANGE);
|
||||
DEBUG_PRINTLN(F("Animated Staircase disabled."));
|
||||
}
|
||||
@@ -332,8 +336,10 @@ class Animated_Staircase : public Usermod {
|
||||
|
||||
void loop() {
|
||||
if (!enabled || strip.isUpdating()) return;
|
||||
minSegmentId = strip.getMainSegmentId(); // it may not be the best idea to start with main segment as it may not be the first one
|
||||
maxSegmentId = strip.getLastActiveSegmentId() + 1;
|
||||
checkSensors();
|
||||
autoPowerOff();
|
||||
if (on) autoPowerOff();
|
||||
updateSwipe();
|
||||
}
|
||||
|
||||
@@ -392,14 +398,16 @@ class Animated_Staircase : public Usermod {
|
||||
*/
|
||||
void readFromJsonState(JsonObject& root) {
|
||||
if (!initDone) return; // prevent crash on boot applyPreset()
|
||||
bool en = enabled;
|
||||
JsonObject staircase = root[FPSTR(_name)];
|
||||
if (!staircase.isNull()) {
|
||||
if (staircase[FPSTR(_enabled)].is<bool>()) {
|
||||
enabled = staircase[FPSTR(_enabled)].as<bool>();
|
||||
en = staircase[FPSTR(_enabled)].as<bool>();
|
||||
} else {
|
||||
String str = staircase[FPSTR(_enabled)]; // checkbox -> off or on
|
||||
enabled = (bool)(str!="off"); // off is guaranteed to be present
|
||||
en = (bool)(str!="off"); // off is guaranteed to be present
|
||||
}
|
||||
if (en != enabled) enable(en);
|
||||
readSensorsFromJson(staircase);
|
||||
DEBUG_PRINTLN(F("Staircase sensor state read from API."));
|
||||
}
|
||||
|
||||
@@ -23,44 +23,7 @@ You can also use usermod's off timer instead of sensor's. In such case rotate th
|
||||
|
||||
## Usermod installation
|
||||
|
||||
1. Copy the file `usermod_PIR_sensor_switch.h` to the `wled00` directory.
|
||||
2. Register the usermod by adding `#include "usermod_PIR_sensor_switch.h"` in the top and `registerUsermod(new PIRsensorSwitch());` in the bottom of `usermods_list.cpp`.
|
||||
|
||||
Example **usermods_list.cpp**:
|
||||
|
||||
```cpp
|
||||
#include "wled.h"
|
||||
/*
|
||||
* Register your v2 usermods here!
|
||||
* (for v1 usermods using just usermod.cpp, you can ignore this file)
|
||||
*/
|
||||
|
||||
/*
|
||||
* Add/uncomment your usermod filename here (and once more below)
|
||||
* || || ||
|
||||
* \/ \/ \/
|
||||
*/
|
||||
//#include "usermod_v2_example.h"
|
||||
//#include "usermod_temperature.h"
|
||||
//#include "usermod_v2_empty.h"
|
||||
#include "usermod_PIR_sensor_switch.h"
|
||||
|
||||
void registerUsermods()
|
||||
{
|
||||
/*
|
||||
* Add your usermod class name here
|
||||
* || || ||
|
||||
* \/ \/ \/
|
||||
*/
|
||||
//usermods.add(new MyExampleUsermod());
|
||||
//usermods.add(new UsermodTemperature());
|
||||
//usermods.add(new UsermodRenameMe());
|
||||
usermods.add(new PIRsensorSwitch());
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
**NOTE:** Usermod has been included in master branch of WLED so it can be compiled in directly just by defining `-D USERMOD_PIRSWITCH` and optionaly `-D PIR_SENSOR_PIN=16` to override default pin.
|
||||
**NOTE:** Usermod has been included in master branch of WLED so it can be compiled in directly just by defining `-D USERMOD_PIRSWITCH` and optionaly `-D PIR_SENSOR_PIN=16` to override default pin. You can also change the default off tim by adding `-D PIR_SENSOR_OFF_SEC=30`.
|
||||
|
||||
## API to enable/disable the PIR sensor from outside. For example from another usermod.
|
||||
|
||||
@@ -121,4 +84,9 @@ Have fun - @gegu & @blazoncek
|
||||
|
||||
2021-11
|
||||
* Added information about dynamic configuration options
|
||||
* Added option to temporary enable/disble usermod from WLED UI (Info dialog)
|
||||
* Added option to temporary enable/disble usermod from WLED UI (Info dialog)
|
||||
|
||||
2022-11
|
||||
* Added compile time option for off timer.
|
||||
* Added Home Assistant autodiscovery MQTT broadcast.
|
||||
* Updated info on compiling.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,9 @@
|
||||
#define NODE_TYPE_ID_UNDEFINED 0
|
||||
#define NODE_TYPE_ID_ESP8266 82
|
||||
#define NODE_TYPE_ID_ESP32 32
|
||||
#define NODE_TYPE_ID_ESP32S2 33
|
||||
#define NODE_TYPE_ID_ESP32S3 34
|
||||
#define NODE_TYPE_ID_ESP32C3 35
|
||||
|
||||
/*********************************************************************************************\
|
||||
* NodeStruct
|
||||
|
||||
@@ -15,13 +15,19 @@ uint32_t colorBalanceFromKelvin(uint16_t kelvin, uint32_t rgb);
|
||||
void colorRGBtoRGBW(byte* rgb);
|
||||
|
||||
// enable additional debug output
|
||||
#if defined(WLED_DEBUG_HOST)
|
||||
#define DEBUGOUT NetDebug
|
||||
#else
|
||||
#define DEBUGOUT Serial
|
||||
#endif
|
||||
|
||||
#ifdef WLED_DEBUG
|
||||
#ifndef ESP8266
|
||||
#include <rom/rtc.h>
|
||||
#endif
|
||||
#define DEBUG_PRINT(x) Serial.print(x)
|
||||
#define DEBUG_PRINTLN(x) Serial.println(x)
|
||||
#define DEBUG_PRINTF(x...) Serial.printf(x)
|
||||
#define DEBUG_PRINT(x) DEBUGOUT.print(x)
|
||||
#define DEBUG_PRINTLN(x) DEBUGOUT.println(x)
|
||||
#define DEBUG_PRINTF(x...) DEBUGOUT.printf(x)
|
||||
#else
|
||||
#define DEBUG_PRINT(x)
|
||||
#define DEBUG_PRINTLN(x)
|
||||
|
||||
@@ -262,7 +262,7 @@ function onLoad()
|
||||
d.addEventListener("visibilitychange", handleVisibilityChange, false);
|
||||
size();
|
||||
gId("cv").style.opacity=0;
|
||||
if (localStorage.getItem('pcm') == "true") togglePcMode(true);
|
||||
if (localStorage.getItem('pcm') == "true" || (!/Mobi/.test(navigator.userAgent) && localStorage.getItem('pcm') == null)) togglePcMode(true);
|
||||
var sls = d.querySelectorAll('input[type="range"]');
|
||||
for (var sl of sls) {
|
||||
sl.addEventListener('touchstart', toggleBubble);
|
||||
@@ -979,6 +979,9 @@ function btype(b)
|
||||
{
|
||||
switch (b) {
|
||||
case 32: return "ESP32";
|
||||
case 33: return "ESP32-S2";
|
||||
case 34: return "ESP32-S3";
|
||||
case 35: return "ESP32-C3";
|
||||
case 82: return "ESP8266";
|
||||
}
|
||||
return "?";
|
||||
|
||||
1576
wled00/html_other.h
1576
wled00/html_other.h
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@
|
||||
// Autogenerated from wled00/data/style.css, do not edit!!
|
||||
const uint16_t PAGE_settingsCss_length = 824;
|
||||
const uint8_t PAGE_settingsCss[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x55, 0x5d, 0x8b, 0x9c, 0x30,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x55, 0x5d, 0x8b, 0x9c, 0x30,
|
||||
0x14, 0xfd, 0x2b, 0x96, 0x61, 0x61, 0x0b, 0xa3, 0xa8, 0xa3, 0xb3, 0xd3, 0x48, 0xa1, 0xf4, 0xbd,
|
||||
0x6f, 0xa5, 0x14, 0xca, 0x3e, 0x44, 0x73, 0x1d, 0xc3, 0xe4, 0x43, 0x92, 0xd8, 0x75, 0x2a, 0xfe,
|
||||
0xf7, 0x26, 0x7e, 0xac, 0xce, 0xac, 0x6c, 0x5f, 0xca, 0xe0, 0xa0, 0xde, 0x98, 0x7b, 0xee, 0xb9,
|
||||
@@ -66,7 +66,7 @@ const uint8_t PAGE_settingsCss[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_length = 1231;
|
||||
const uint8_t PAGE_settings[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x56, 0xef, 0x6f, 0xdb, 0x36,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x56, 0xef, 0x6f, 0xdb, 0x36,
|
||||
0x10, 0xfd, 0xee, 0xbf, 0x82, 0x61, 0xb7, 0x44, 0x42, 0x65, 0xd9, 0x49, 0x87, 0x61, 0x93, 0x2d,
|
||||
0x17, 0x6d, 0x92, 0xae, 0x19, 0x12, 0x24, 0x40, 0x92, 0x76, 0xc3, 0x36, 0xa0, 0xb4, 0x78, 0xb2,
|
||||
0xd9, 0x48, 0xa4, 0x40, 0x9e, 0x9c, 0x78, 0xae, 0xff, 0xf7, 0x1d, 0x69, 0x27, 0x71, 0xda, 0xa0,
|
||||
@@ -149,7 +149,7 @@ const uint8_t PAGE_settings[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings_wifi.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_wifi_length = 1563;
|
||||
const uint8_t PAGE_settings_wifi[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xb5, 0x57, 0xe1, 0x6e, 0xdb, 0x36,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xb5, 0x57, 0xe1, 0x6e, 0xdb, 0x36,
|
||||
0x10, 0xfe, 0xef, 0xa7, 0x60, 0x38, 0xa0, 0xb0, 0x50, 0x59, 0x8e, 0xed, 0xa5, 0x2b, 0x52, 0xc9,
|
||||
0x5d, 0x62, 0xbb, 0x4d, 0xb6, 0x34, 0xf5, 0xa0, 0xa0, 0xc1, 0x80, 0x01, 0x05, 0x2d, 0x9d, 0x6d,
|
||||
0x2e, 0x14, 0xa9, 0x89, 0x94, 0x9d, 0x20, 0xcd, 0xbb, 0xef, 0x48, 0xc9, 0x8e, 0x9d, 0xc4, 0x6d,
|
||||
@@ -253,7 +253,7 @@ const uint8_t PAGE_settings_wifi[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings_leds.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_leds_length = 7492;
|
||||
const uint8_t PAGE_settings_leds[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xdd, 0x3c, 0xdb, 0x76, 0xe3, 0x36,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xdd, 0x3c, 0xdb, 0x76, 0xe3, 0x36,
|
||||
0x92, 0xef, 0xfa, 0x0a, 0x18, 0x49, 0x1c, 0x72, 0x44, 0x4b, 0xa4, 0x2e, 0x8e, 0x5b, 0x12, 0xe5,
|
||||
0xb5, 0xdc, 0x97, 0x78, 0xc6, 0x8e, 0x7d, 0x2c, 0x27, 0x3d, 0x73, 0x3a, 0x7d, 0xba, 0x29, 0x12,
|
||||
0x92, 0xd8, 0xa6, 0x48, 0x85, 0xa4, 0x6c, 0x6b, 0x6d, 0xef, 0x37, 0xed, 0x37, 0xec, 0x97, 0x6d,
|
||||
@@ -728,7 +728,7 @@ const uint8_t PAGE_settings_leds[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings_dmx.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_dmx_length = 1612;
|
||||
const uint8_t PAGE_settings_dmx[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x95, 0x57, 0xdb, 0x72, 0xdb, 0x36,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x95, 0x57, 0xdb, 0x72, 0xdb, 0x36,
|
||||
0x10, 0x7d, 0xd7, 0x57, 0x20, 0x78, 0x88, 0xc9, 0x31, 0x43, 0x4a, 0x4e, 0x95, 0x36, 0x32, 0x49,
|
||||
0x37, 0x56, 0x5c, 0xdb, 0x1d, 0xdb, 0xf5, 0x44, 0x49, 0xd3, 0x4e, 0xd3, 0xe9, 0x40, 0xe4, 0x4a,
|
||||
0x44, 0x4c, 0x02, 0x2c, 0x00, 0x4a, 0x76, 0x2e, 0xff, 0xde, 0x05, 0x48, 0x5d, 0xec, 0xd8, 0x69,
|
||||
@@ -835,7 +835,7 @@ const uint8_t PAGE_settings_dmx[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings_ui.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_ui_length = 3090;
|
||||
const uint8_t PAGE_settings_ui[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x59, 0x6b, 0x73, 0xda, 0x48,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xad, 0x59, 0x6b, 0x73, 0xda, 0x48,
|
||||
0x16, 0xfd, 0xce, 0xaf, 0xe8, 0x74, 0x52, 0x1e, 0x54, 0x56, 0x04, 0x4e, 0x66, 0x6b, 0x13, 0x40,
|
||||
0x78, 0x63, 0xc7, 0x93, 0x78, 0xca, 0xd9, 0x64, 0x83, 0xbd, 0x99, 0xad, 0xac, 0xcb, 0x23, 0xa4,
|
||||
0x06, 0x3a, 0x16, 0x92, 0x46, 0xdd, 0x32, 0x66, 0x09, 0xff, 0x7d, 0xcf, 0xed, 0x96, 0x40, 0x60,
|
||||
@@ -1035,7 +1035,7 @@ const uint8_t PAGE_settings_ui[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings_sync.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_sync_length = 3394;
|
||||
const uint8_t PAGE_settings_sync[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xa5, 0x5a, 0x59, 0x73, 0xdb, 0x38,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xa5, 0x5a, 0x59, 0x73, 0xdb, 0x38,
|
||||
0x12, 0x7e, 0xe7, 0xaf, 0x40, 0xb8, 0x55, 0x33, 0xd2, 0x58, 0xd6, 0x61, 0x59, 0x8e, 0xa3, 0x88,
|
||||
0xcc, 0x4a, 0x96, 0x63, 0x6b, 0xc7, 0x8e, 0x35, 0x92, 0x33, 0x47, 0xd5, 0x56, 0x4d, 0x41, 0x24,
|
||||
0x24, 0xc1, 0x26, 0x09, 0x0e, 0x09, 0xfa, 0xa8, 0x4c, 0xfe, 0xfb, 0x76, 0x83, 0x87, 0x48, 0xea,
|
||||
@@ -1254,7 +1254,7 @@ const uint8_t PAGE_settings_sync[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings_time.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_time_length = 3313;
|
||||
const uint8_t PAGE_settings_time[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xd5, 0x1a, 0x6b, 0x57, 0xdb, 0x38,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xd5, 0x1a, 0x6b, 0x57, 0xdb, 0x38,
|
||||
0xf6, 0x7b, 0x7e, 0x85, 0x50, 0x7b, 0x98, 0x78, 0x70, 0x9e, 0x90, 0x16, 0x92, 0xd8, 0xdd, 0x10,
|
||||
0xd2, 0x42, 0x4b, 0x02, 0x67, 0x92, 0x0e, 0xbb, 0xd3, 0xf6, 0x4c, 0x15, 0x5b, 0x49, 0x0c, 0x8e,
|
||||
0xe4, 0xb5, 0x65, 0x02, 0x4b, 0xf9, 0xef, 0x7b, 0x25, 0x39, 0xce, 0xd3, 0xd0, 0x76, 0x66, 0x3f,
|
||||
@@ -1466,166 +1466,166 @@ const uint8_t PAGE_settings_time[] PROGMEM = {
|
||||
|
||||
|
||||
// Autogenerated from wled00/data/settings_sec.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_sec_length = 2408;
|
||||
const uint16_t PAGE_settings_sec_length = 2409;
|
||||
const uint8_t PAGE_settings_sec[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xa5, 0x58, 0x6d, 0x73, 0xdb, 0xb8,
|
||||
0x11, 0xfe, 0xae, 0x5f, 0x01, 0x23, 0x33, 0x39, 0xb1, 0xa1, 0x49, 0xdb, 0x49, 0x6f, 0xf2, 0x62,
|
||||
0x2a, 0xb5, 0x63, 0xe5, 0xe2, 0x8e, 0x1d, 0x7b, 0x22, 0xf9, 0xd2, 0x4e, 0x9a, 0xc9, 0x40, 0x24,
|
||||
0x24, 0x22, 0xa2, 0x08, 0x1e, 0x00, 0x5a, 0x51, 0x73, 0xf7, 0xdf, 0xfb, 0x2c, 0x48, 0x4a, 0xb2,
|
||||
0x63, 0x27, 0x93, 0xe9, 0x07, 0x5b, 0x22, 0x08, 0xec, 0xcb, 0xb3, 0xbb, 0xcf, 0x2e, 0x74, 0xb8,
|
||||
0x73, 0x72, 0xf1, 0x6a, 0xfc, 0xef, 0xcb, 0x21, 0xcb, 0xdd, 0xa2, 0x18, 0x1c, 0xd2, 0x7f, 0x56,
|
||||
0x88, 0x72, 0x96, 0x70, 0x59, 0x72, 0x3c, 0x4b, 0x91, 0x0d, 0x0e, 0x17, 0xd2, 0x09, 0x56, 0x8a,
|
||||
0x85, 0x4c, 0xf8, 0xb5, 0x92, 0xcb, 0x4a, 0x1b, 0xc7, 0x59, 0xaa, 0x4b, 0x27, 0x4b, 0x97, 0xf0,
|
||||
0xa5, 0xca, 0x5c, 0x9e, 0xfc, 0x7d, 0x6f, 0x8f, 0x0f, 0x7a, 0xcd, 0xd6, 0xde, 0xad, 0x77, 0x99,
|
||||
0xbc, 0x56, 0xa9, 0xdc, 0xf5, 0x0f, 0xa1, 0x2a, 0x95, 0x53, 0xa2, 0xd8, 0xb5, 0xa9, 0x28, 0x64,
|
||||
0xb2, 0x1f, 0x2e, 0xc4, 0x17, 0xb5, 0xa8, 0x17, 0xeb, 0xe7, 0xda, 0x4a, 0xe3, 0x1f, 0xc4, 0x04,
|
||||
0xcf, 0xa5, 0xe6, 0xac, 0x77, 0x4b, 0x75, 0x6b, 0x50, 0x9a, 0x0b, 0x63, 0x25, 0x94, 0xd4, 0x6e,
|
||||
0xba, 0xfb, 0x14, 0xab, 0x4e, 0xb9, 0x42, 0x0e, 0xce, 0x95, 0x4d, 0xd9, 0x48, 0x3a, 0xa7, 0xca,
|
||||
0x99, 0x3d, 0x8c, 0x9b, 0xc5, 0x43, 0x9b, 0x1a, 0x55, 0xb9, 0x41, 0xef, 0x5a, 0x18, 0x56, 0xe8,
|
||||
0x54, 0x55, 0xa1, 0x53, 0x0b, 0xa9, 0x6b, 0x17, 0x66, 0x49, 0xa6, 0xd3, 0x7a, 0x01, 0x73, 0x43,
|
||||
0xbc, 0x48, 0x76, 0xf6, 0x5f, 0x4c, 0xeb, 0x32, 0x75, 0x4a, 0x97, 0xec, 0x4d, 0x3f, 0xf8, 0xba,
|
||||
0x54, 0x65, 0xa6, 0x97, 0x91, 0xae, 0x64, 0xd9, 0xe7, 0xb9, 0x73, 0x95, 0x7d, 0x1e, 0xc7, 0xf3,
|
||||
0x52, 0x47, 0xcb, 0x42, 0x66, 0xd1, 0x4c, 0xc6, 0x53, 0x29, 0x5c, 0x6d, 0xa4, 0x8d, 0x6d, 0xab,
|
||||
0x33, 0x7e, 0x60, 0x65, 0x5a, 0x1b, 0xe5, 0x56, 0xbb, 0xdd, 0x12, 0x0f, 0xfe, 0x5a, 0x0b, 0x3d,
|
||||
0xbe, 0x2d, 0x74, 0x7d, 0x90, 0x87, 0xfc, 0x93, 0x95, 0xc5, 0x74, 0x7b, 0xf7, 0xd5, 0x37, 0xbb,
|
||||
0xeb, 0x2a, 0x13, 0x4e, 0xde, 0xb5, 0x77, 0x76, 0x9a, 0xf5, 0x65, 0xf0, 0xd5, 0x48, 0xd8, 0x53,
|
||||
0x32, 0x32, 0xce, 0x0d, 0x0b, 0x49, 0x9e, 0x1d, 0xaf, 0xfc, 0xab, 0xcd, 0x56, 0x65, 0x2f, 0x26,
|
||||
0x9f, 0xb7, 0x36, 0xcb, 0x87, 0x0f, 0xb9, 0x9e, 0x7c, 0x96, 0xa9, 0xe3, 0x49, 0xe2, 0x56, 0x95,
|
||||
0xd4, 0x53, 0x5a, 0xdb, 0x39, 0x32, 0x46, 0xac, 0x22, 0x65, 0xfd, 0xe7, 0x0d, 0x09, 0x85, 0x16,
|
||||
0xd9, 0x3f, 0x47, 0x7d, 0x19, 0xba, 0x64, 0x67, 0x2f, 0xf8, 0x5a, 0x48, 0xc7, 0x74, 0x92, 0x45,
|
||||
0xa9, 0x01, 0x1c, 0xb2, 0x55, 0xdb, 0xe7, 0x0d, 0xec, 0x3c, 0x78, 0xa1, 0x23, 0x78, 0x79, 0xe4,
|
||||
0x9c, 0x51, 0x93, 0xda, 0x49, 0xbc, 0x30, 0x29, 0x0f, 0x65, 0x10, 0xde, 0x5e, 0x27, 0xdd, 0xf0,
|
||||
0xcd, 0xc9, 0x2f, 0x2e, 0xfe, 0x2c, 0xae, 0x45, 0x27, 0xe0, 0x9b, 0x8d, 0xc2, 0xae, 0x4a, 0x88,
|
||||
0x70, 0x41, 0x98, 0x45, 0x13, 0x9d, 0xad, 0x22, 0x51, 0x01, 0x9f, 0xec, 0x55, 0xae, 0x8a, 0xac,
|
||||
0xaf, 0x69, 0xbf, 0xc8, 0xb2, 0xe1, 0x35, 0xac, 0x38, 0x53, 0x16, 0xc9, 0x28, 0x4d, 0x9f, 0x93,
|
||||
0xcd, 0x3c, 0xec, 0x07, 0xc9, 0xe0, 0xeb, 0x6f, 0xd2, 0xfd, 0xde, 0x0f, 0x42, 0xc8, 0x3c, 0x4e,
|
||||
0xe7, 0xaf, 0x55, 0x21, 0x29, 0xc7, 0xfa, 0x84, 0x20, 0x9f, 0xa4, 0xf3, 0x74, 0x3a, 0xe3, 0xc1,
|
||||
0xbd, 0x6f, 0x2b, 0x44, 0x5b, 0x3a, 0x04, 0x35, 0xf8, 0xeb, 0x6e, 0x3d, 0xd2, 0x18, 0x6d, 0xe0,
|
||||
0x1e, 0xf4, 0xa0, 0x12, 0xac, 0x2e, 0x64, 0x54, 0xe8, 0x59, 0x9f, 0x0f, 0x69, 0x9d, 0xb5, 0xe0,
|
||||
0x21, 0xe2, 0x6c, 0x0a, 0xd1, 0x1e, 0x06, 0xa4, 0xbe, 0x01, 0x5c, 0x67, 0xed, 0x3a, 0xd0, 0xc7,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xa5, 0x58, 0x6d, 0x73, 0xd3, 0x48,
|
||||
0x12, 0xfe, 0xee, 0x5f, 0x31, 0x19, 0xaa, 0x58, 0xeb, 0x50, 0x24, 0x27, 0x70, 0x5b, 0x40, 0x22,
|
||||
0x73, 0x09, 0x09, 0x4b, 0xae, 0x12, 0x92, 0x8a, 0xcd, 0x72, 0x57, 0x1c, 0x45, 0x8d, 0xa5, 0xb1,
|
||||
0x35, 0x58, 0xd6, 0x68, 0x67, 0x46, 0x31, 0x3e, 0x76, 0xff, 0xfb, 0x3d, 0x3d, 0x92, 0x6c, 0x27,
|
||||
0x04, 0x28, 0xea, 0x3e, 0x24, 0xb6, 0x46, 0x33, 0xfd, 0xf2, 0x74, 0xf7, 0xd3, 0x3d, 0x3e, 0xdc,
|
||||
0x39, 0xb9, 0x7c, 0x39, 0xfe, 0xf7, 0xd5, 0x29, 0xcb, 0xdd, 0xa2, 0x18, 0x1e, 0xd2, 0x7f, 0x56,
|
||||
0x88, 0x72, 0x96, 0x70, 0x59, 0x72, 0x3c, 0x4b, 0x91, 0x0d, 0x0f, 0x17, 0xd2, 0x09, 0x56, 0x8a,
|
||||
0x85, 0x4c, 0xf8, 0x8d, 0x92, 0xcb, 0x4a, 0x1b, 0xc7, 0x59, 0xaa, 0x4b, 0x27, 0x4b, 0x97, 0xf0,
|
||||
0xa5, 0xca, 0x5c, 0x9e, 0xfc, 0x7d, 0x30, 0xe0, 0xc3, 0x5e, 0xb3, 0xb5, 0x77, 0xe7, 0x5d, 0x26,
|
||||
0x6f, 0x54, 0x2a, 0x77, 0xfd, 0x43, 0xa8, 0x4a, 0xe5, 0x94, 0x28, 0x76, 0x6d, 0x2a, 0x0a, 0x99,
|
||||
0xec, 0x85, 0x0b, 0xf1, 0x59, 0x2d, 0xea, 0xc5, 0xfa, 0xb9, 0xb6, 0xd2, 0xf8, 0x07, 0x31, 0xc1,
|
||||
0x73, 0xa9, 0x39, 0xeb, 0xdd, 0x51, 0xdd, 0x1a, 0x94, 0xe6, 0xc2, 0x58, 0x09, 0x25, 0xb5, 0x9b,
|
||||
0xee, 0x3e, 0xc5, 0xaa, 0x53, 0xae, 0x90, 0xc3, 0x0b, 0x65, 0x53, 0x36, 0x92, 0xce, 0xa9, 0x72,
|
||||
0x66, 0x0f, 0xe3, 0x66, 0xf1, 0xd0, 0xa6, 0x46, 0x55, 0x6e, 0xd8, 0xbb, 0x11, 0x86, 0x15, 0x3a,
|
||||
0x55, 0x55, 0xe8, 0xd4, 0x42, 0xea, 0xda, 0x85, 0x59, 0x92, 0xe9, 0xb4, 0x5e, 0xc0, 0xdc, 0x10,
|
||||
0x2f, 0x92, 0x9d, 0xbd, 0x83, 0x69, 0x5d, 0xa6, 0x4e, 0xe9, 0x92, 0xbd, 0xee, 0x07, 0x5f, 0x96,
|
||||
0xaa, 0xcc, 0xf4, 0x32, 0xd2, 0x95, 0x2c, 0xfb, 0x3c, 0x77, 0xae, 0xb2, 0xcf, 0xe3, 0x78, 0x5e,
|
||||
0xea, 0x68, 0x59, 0xc8, 0x2c, 0x9a, 0xc9, 0x78, 0x2a, 0x85, 0xab, 0x8d, 0xb4, 0xb1, 0x6d, 0x75,
|
||||
0xc6, 0x0f, 0xac, 0x4c, 0x6b, 0xa3, 0xdc, 0x6a, 0xb7, 0x5b, 0xe2, 0xc1, 0x5f, 0x6b, 0xa1, 0xc7,
|
||||
0x77, 0x85, 0xae, 0x0f, 0xf2, 0x90, 0x7f, 0xb4, 0xb2, 0x98, 0x6e, 0xef, 0x7e, 0xfb, 0xd5, 0xee,
|
||||
0xba, 0xca, 0x84, 0x93, 0xf7, 0xed, 0x9d, 0x9d, 0x65, 0x7d, 0x19, 0x7c, 0x31, 0x12, 0xf6, 0x94,
|
||||
0x8c, 0x8c, 0x73, 0xa7, 0x85, 0x24, 0xcf, 0x8e, 0x57, 0xfe, 0xd5, 0x66, 0xab, 0xb2, 0x97, 0x93,
|
||||
0x4f, 0x5b, 0x9b, 0xe5, 0xc3, 0x87, 0x5c, 0x4f, 0x3e, 0xc9, 0xd4, 0xf1, 0x24, 0x71, 0xab, 0x4a,
|
||||
0xea, 0x29, 0xad, 0xed, 0x1c, 0x19, 0x23, 0x56, 0x91, 0xb2, 0xfe, 0xf3, 0x96, 0x84, 0x42, 0x8b,
|
||||
0xec, 0x9f, 0xa3, 0xbe, 0x0c, 0x5d, 0xb2, 0x33, 0x08, 0xbe, 0x14, 0xd2, 0x31, 0x9d, 0x64, 0x51,
|
||||
0x6a, 0x00, 0x87, 0x6c, 0xd5, 0xf6, 0x79, 0x03, 0x3b, 0x0f, 0x0e, 0x74, 0x04, 0x2f, 0x8f, 0x9c,
|
||||
0x33, 0x6a, 0x52, 0x3b, 0x89, 0x17, 0x26, 0xe5, 0xa1, 0x0c, 0xc2, 0xbb, 0xeb, 0xa4, 0x1b, 0xbe,
|
||||
0x39, 0xf9, 0xd9, 0xc5, 0x9f, 0xc4, 0x8d, 0xe8, 0x04, 0x7c, 0xb5, 0x51, 0xd8, 0x55, 0x09, 0x11,
|
||||
0x2e, 0x08, 0xb3, 0x68, 0xa2, 0xb3, 0x55, 0x24, 0x2a, 0xe0, 0x93, 0xbd, 0xcc, 0x55, 0x91, 0xf5,
|
||||
0x35, 0xed, 0x17, 0x59, 0x76, 0x7a, 0x03, 0x2b, 0xce, 0x95, 0x45, 0x32, 0x4a, 0xd3, 0xe7, 0x64,
|
||||
0x33, 0x0f, 0xfb, 0x41, 0x32, 0xfc, 0xf2, 0x9b, 0x74, 0xbf, 0xf7, 0x83, 0x10, 0x32, 0x8f, 0xd3,
|
||||
0xf9, 0x2b, 0x55, 0x48, 0xca, 0xb1, 0x3e, 0x21, 0xc8, 0x27, 0xe9, 0x3c, 0x9d, 0xce, 0x78, 0xf0,
|
||||
0xcd, 0xb7, 0x15, 0xa2, 0x2d, 0x1d, 0x82, 0x1a, 0xfc, 0x75, 0xbf, 0x1e, 0x69, 0x8c, 0x36, 0x70,
|
||||
0x0f, 0x7a, 0x50, 0x09, 0x56, 0x17, 0x32, 0x2a, 0xf4, 0xac, 0xcf, 0x4f, 0x69, 0x9d, 0xb5, 0xe0,
|
||||
0x21, 0xe2, 0x6c, 0x0a, 0xd1, 0x1e, 0x06, 0xa4, 0xbe, 0x01, 0x5c, 0xe7, 0xed, 0x3a, 0xd0, 0xc7,
|
||||
0xc1, 0xa9, 0x9a, 0xd5, 0x46, 0x78, 0xb4, 0x1b, 0x18, 0xd8, 0x54, 0x28, 0xca, 0xba, 0xff, 0x94,
|
||||
0xa7, 0x65, 0xaa, 0x17, 0x15, 0x40, 0x97, 0xac, 0x12, 0x33, 0xc9, 0x90, 0x12, 0x62, 0x07, 0xb9,
|
||||
0xb0, 0x15, 0x20, 0x9b, 0xeb, 0xe5, 0x58, 0x0b, 0xeb, 0x9a, 0x18, 0xed, 0x07, 0x5f, 0x29, 0xf7,
|
||||
0x75, 0xe2, 0xbd, 0x70, 0xf4, 0xc2, 0x87, 0x45, 0x95, 0x30, 0xf9, 0xcd, 0xf8, 0xfc, 0x2c, 0x91,
|
||||
0xf0, 0x25, 0x2d, 0x84, 0xb5, 0xe4, 0x08, 0x79, 0xd5, 0x77, 0x2f, 0x5b, 0x57, 0x9e, 0x73, 0x92,
|
||||
0x67, 0x65, 0xaa, 0x17, 0x15, 0x40, 0x97, 0xac, 0x12, 0x33, 0xc9, 0x90, 0x12, 0x62, 0x07, 0xb9,
|
||||
0xb0, 0x15, 0x20, 0x9b, 0xeb, 0xe5, 0x58, 0x0b, 0xeb, 0x9a, 0x18, 0xed, 0x05, 0x5f, 0x28, 0xf7,
|
||||
0x75, 0xe2, 0xbd, 0x70, 0xf4, 0xc2, 0x87, 0x45, 0x95, 0x30, 0xf9, 0xf5, 0xf8, 0xe2, 0x3c, 0x91,
|
||||
0xf0, 0x25, 0x2d, 0x84, 0xb5, 0xe4, 0x08, 0x79, 0xd5, 0x77, 0x2f, 0x5a, 0x57, 0x9e, 0x73, 0x92,
|
||||
0x86, 0x28, 0xa4, 0x85, 0x14, 0x66, 0xdc, 0x54, 0x4e, 0xbf, 0xad, 0x20, 0x1f, 0x1b, 0xb7, 0x82,
|
||||
0x93, 0xa2, 0x54, 0x0b, 0x6f, 0x6f, 0xc2, 0x4b, 0x5d, 0xc2, 0xb3, 0x76, 0x47, 0x02, 0xb8, 0xba,
|
||||
0x43, 0xfd, 0xce, 0x40, 0x24, 0xf6, 0xb6, 0x3e, 0x23, 0x17, 0xfa, 0x9a, 0x12, 0xc3, 0x2b, 0x02,
|
||||
0xb0, 0x07, 0xcf, 0xf6, 0xf6, 0xb6, 0xdc, 0xa9, 0x2b, 0x02, 0x8d, 0x62, 0x41, 0xfe, 0x74, 0xce,
|
||||
0x94, 0x72, 0xc9, 0xfe, 0x75, 0x7e, 0xf6, 0x06, 0x75, 0xf9, 0x4e, 0xfe, 0x51, 0x4b, 0xeb, 0x5e,
|
||||
0x7c, 0x27, 0xf0, 0x5b, 0xaa, 0x37, 0xe8, 0xb8, 0x5c, 0x59, 0x68, 0xb7, 0x15, 0x22, 0x25, 0xc7,
|
||||
0xc8, 0xbb, 0xd0, 0xaf, 0x58, 0x87, 0xb2, 0xb6, 0x83, 0xe4, 0x09, 0x59, 0x11, 0x7c, 0x37, 0xce,
|
||||
0x1b, 0xb9, 0x72, 0x5b, 0xb0, 0x24, 0x19, 0xe9, 0x3c, 0xdc, 0xe9, 0x04, 0x34, 0x05, 0x7c, 0x79,
|
||||
0x31, 0x1a, 0x23, 0xc3, 0xe3, 0xc6, 0x21, 0xc4, 0x80, 0x3c, 0x29, 0xbd, 0x27, 0xaf, 0xb5, 0x59,
|
||||
0x9c, 0x20, 0x92, 0x2f, 0xda, 0xaa, 0x2c, 0xdb, 0xa4, 0xee, 0x73, 0x8a, 0x2f, 0x12, 0x25, 0xa2,
|
||||
0x84, 0xb1, 0x1f, 0xf6, 0x3e, 0x86, 0x0d, 0xea, 0xf4, 0xae, 0x0c, 0xb0, 0x7e, 0x2d, 0x8a, 0x1a,
|
||||
0x14, 0xc9, 0xc3, 0x9d, 0xfd, 0x0d, 0x64, 0x69, 0x2e, 0xd3, 0xf9, 0xdb, 0x7a, 0xb1, 0xa9, 0xf3,
|
||||
0x9d, 0xfe, 0x8e, 0x24, 0x17, 0xa2, 0xb9, 0x5c, 0x45, 0x08, 0x55, 0x9a, 0xf7, 0xe3, 0x0f, 0x7b,
|
||||
0xbb, 0xcf, 0x3e, 0xc6, 0x01, 0x8a, 0xfd, 0x03, 0x3f, 0x86, 0xbd, 0xb6, 0x12, 0x29, 0x95, 0xe0,
|
||||
0x58, 0x4c, 0xf0, 0x7f, 0x08, 0x22, 0x87, 0x8b, 0x7c, 0x94, 0xab, 0xa9, 0xc3, 0xe7, 0x2b, 0x30,
|
||||
0xbb, 0xd1, 0x05, 0xbe, 0x1d, 0x15, 0xf4, 0x7c, 0x29, 0xc0, 0xd7, 0xb4, 0x2e, 0x2a, 0x7b, 0xa6,
|
||||
0xd3, 0x39, 0x1d, 0x01, 0x79, 0xfb, 0x22, 0x1e, 0xb5, 0x92, 0x2e, 0x91, 0xa1, 0x57, 0x55, 0xfb,
|
||||
0xe5, 0x44, 0x2f, 0x4b, 0x2f, 0x17, 0x01, 0xe1, 0x6f, 0xf4, 0x82, 0x36, 0x80, 0x5d, 0xf4, 0xf2,
|
||||
0x4c, 0x7a, 0x05, 0xfe, 0xbb, 0xdf, 0xed, 0xbf, 0xbd, 0x53, 0xb3, 0x7c, 0xbd, 0xdc, 0x9e, 0x3d,
|
||||
0x45, 0xa0, 0x0c, 0x2d, 0x9e, 0x48, 0xaa, 0x00, 0xfe, 0x11, 0x49, 0x9c, 0x16, 0x75, 0x26, 0x6d,
|
||||
0x7f, 0xed, 0x5d, 0x10, 0xfc, 0xf9, 0x67, 0xfb, 0x84, 0x72, 0xa5, 0xcf, 0x13, 0x39, 0x15, 0x75,
|
||||
0xe1, 0x50, 0xf4, 0xa8, 0x85, 0xad, 0x32, 0xb9, 0x59, 0xe3, 0x80, 0x4a, 0xde, 0x62, 0x1a, 0x70,
|
||||
0x6f, 0xd9, 0x24, 0x10, 0x27, 0xce, 0xff, 0xc4, 0x1f, 0x49, 0xa2, 0xd6, 0xbb, 0x76, 0x04, 0x8f,
|
||||
0xfa, 0xfc, 0xfd, 0xd9, 0xf0, 0x04, 0x24, 0x6a, 0xb3, 0x97, 0x1c, 0x75, 0x83, 0xdd, 0x36, 0x0b,
|
||||
0xb6, 0xf4, 0x8d, 0x90, 0x7c, 0x9c, 0xc2, 0xf8, 0x1c, 0x9b, 0x5a, 0x66, 0x47, 0xdf, 0xf1, 0x65,
|
||||
0x03, 0x53, 0xb5, 0xd3, 0xa9, 0x2e, 0x1e, 0x3e, 0xec, 0xfb, 0x5e, 0xb4, 0x17, 0xf6, 0x7d, 0xb3,
|
||||
0x4a, 0x68, 0x47, 0x31, 0x72, 0xda, 0x00, 0x41, 0x52, 0x7e, 0xea, 0xe4, 0x82, 0xd2, 0x3a, 0x3d,
|
||||
0xad, 0xb8, 0x77, 0xb5, 0xd9, 0x86, 0xf3, 0x8b, 0x0a, 0x3c, 0x42, 0xee, 0xb0, 0x73, 0x9d, 0xc9,
|
||||
0x88, 0x5d, 0xa2, 0x62, 0xad, 0x64, 0x92, 0xe2, 0xc8, 0xc8, 0x36, 0x76, 0x7a, 0x09, 0xa6, 0x08,
|
||||
0x6f, 0x48, 0xb4, 0x37, 0x25, 0x86, 0x5e, 0x5a, 0x10, 0xd0, 0x2e, 0xcf, 0xf2, 0x24, 0xfe, 0xa5,
|
||||
0xef, 0x7e, 0x68, 0x7e, 0xfc, 0x91, 0x7f, 0xfd, 0x9c, 0xc3, 0xdd, 0x4d, 0xf3, 0x8a, 0x6d, 0xf4,
|
||||
0xd9, 0xbe, 0xac, 0x92, 0x5f, 0xb9, 0xc7, 0xb7, 0x77, 0x18, 0xb7, 0x2d, 0xf7, 0xd0, 0x73, 0xc3,
|
||||
0xe0, 0x1f, 0x6a, 0x41, 0xcd, 0x9b, 0xd5, 0xa6, 0x40, 0x91, 0x7b, 0xba, 0x48, 0x2d, 0x38, 0xf4,
|
||||
0x05, 0x36, 0xfa, 0x0d, 0x87, 0x71, 0x33, 0x6c, 0x10, 0x99, 0x83, 0x23, 0x49, 0x73, 0xc2, 0x81,
|
||||
0x16, 0x1a, 0xfb, 0x14, 0x75, 0xd1, 0x63, 0x0a, 0xcf, 0xf4, 0xed, 0x93, 0xe5, 0xed, 0x30, 0x32,
|
||||
0x9a, 0x72, 0x86, 0x51, 0x20, 0xd7, 0x78, 0x53, 0x69, 0x4b, 0x93, 0x41, 0xa6, 0xae, 0x99, 0x27,
|
||||
0x95, 0x04, 0x1c, 0x07, 0x38, 0x96, 0x37, 0xd7, 0x72, 0x59, 0x54, 0xc7, 0x34, 0xa7, 0x20, 0x70,
|
||||
0x0e, 0xd1, 0xa0, 0x76, 0x93, 0xf0, 0xe6, 0x81, 0x43, 0x6b, 0x5a, 0xa8, 0x74, 0x9e, 0xf0, 0x37,
|
||||
0xa4, 0xf6, 0xe5, 0x61, 0xdc, 0xbc, 0x80, 0x69, 0x10, 0x31, 0xb8, 0xfb, 0x4c, 0x6f, 0x7d, 0xe8,
|
||||
0x98, 0x0e, 0x51, 0x05, 0x6d, 0xce, 0xdd, 0x38, 0x61, 0xeb, 0xc9, 0x42, 0xc1, 0xc6, 0x91, 0xb8,
|
||||
0x96, 0x9b, 0x2d, 0xb9, 0xe9, 0xc4, 0xe7, 0x07, 0x83, 0xde, 0xa8, 0x9d, 0x1c, 0xd8, 0x43, 0x76,
|
||||
0xe5, 0xfb, 0x3c, 0xe5, 0x67, 0x5d, 0x01, 0x9b, 0x83, 0x41, 0x37, 0xd3, 0xb0, 0xcb, 0xd3, 0xb7,
|
||||
0xcf, 0xd9, 0xa1, 0x2a, 0xab, 0xda, 0xb5, 0xa2, 0x2b, 0x38, 0xb7, 0xd4, 0x26, 0xe3, 0x1e, 0x24,
|
||||
0xbc, 0x5f, 0x0f, 0x4d, 0xfe, 0xbb, 0x55, 0xff, 0xc5, 0xd7, 0x27, 0x00, 0x4b, 0x7c, 0x41, 0x9e,
|
||||
0xcf, 0x30, 0x92, 0xf9, 0x27, 0x55, 0x6e, 0x3d, 0xe9, 0x12, 0x65, 0x43, 0x99, 0x9c, 0xf0, 0x35,
|
||||
0x71, 0x10, 0x13, 0x06, 0x90, 0x55, 0x09, 0x87, 0xf4, 0xc1, 0x1b, 0x4f, 0x16, 0x7f, 0x83, 0x1a,
|
||||
0x52, 0xbe, 0x40, 0x82, 0x81, 0xe9, 0x31, 0x3b, 0x19, 0x95, 0x72, 0xe6, 0x27, 0x2d, 0x68, 0xdc,
|
||||
0x4e, 0x38, 0xc1, 0x9e, 0xb0, 0x4c, 0xcd, 0x94, 0x63, 0xd8, 0x36, 0x01, 0x93, 0x00, 0x13, 0x03,
|
||||
0xf8, 0x29, 0x24, 0x3e, 0xec, 0x50, 0xa6, 0x0b, 0x6d, 0x9e, 0x3f, 0x98, 0x0a, 0x9a, 0x1f, 0x1f,
|
||||
0x3e, 0x78, 0xf6, 0xf4, 0xe9, 0xd3, 0x17, 0xec, 0xaa, 0x94, 0x65, 0x6a, 0x56, 0x95, 0x93, 0x19,
|
||||
0x73, 0x46, 0x94, 0x76, 0xa1, 0xac, 0xa5, 0x0a, 0x61, 0xc7, 0xe8, 0x78, 0x06, 0xb5, 0x5e, 0x3a,
|
||||
0xb6, 0xcc, 0x25, 0xd5, 0x6f, 0x81, 0xa9, 0x85, 0x9a, 0x26, 0x5c, 0x0d, 0x59, 0xa6, 0xd9, 0xdb,
|
||||
0x8b, 0x31, 0x03, 0x29, 0xb1, 0x95, 0xae, 0x0d, 0x9b, 0x88, 0x72, 0x8e, 0x97, 0xf4, 0x42, 0x9b,
|
||||
0x90, 0x8d, 0x4e, 0xcf, 0x43, 0x26, 0x5d, 0x1a, 0xb1, 0x4a, 0x95, 0x3b, 0xbd, 0x2e, 0xb0, 0xc6,
|
||||
0xff, 0x11, 0x7f, 0xb1, 0xa5, 0x32, 0x90, 0x68, 0x2d, 0xeb, 0x5f, 0x8c, 0x8f, 0x02, 0x66, 0xf5,
|
||||
0xd4, 0x2d, 0x85, 0x91, 0xac, 0x19, 0xbb, 0x6e, 0xe1, 0xee, 0x81, 0x9a, 0xe8, 0x2f, 0x6b, 0xb8,
|
||||
0xdf, 0x5e, 0x34, 0x1e, 0x5e, 0x22, 0x20, 0x55, 0x6e, 0x00, 0xc4, 0xbd, 0x91, 0x6a, 0x0e, 0x5c,
|
||||
0x5c, 0xde, 0x88, 0xca, 0xe3, 0x83, 0x16, 0xa1, 0xb1, 0x06, 0x82, 0x34, 0x01, 0x33, 0x98, 0x11,
|
||||
0x32, 0xe4, 0x3d, 0xeb, 0xa6, 0x4a, 0x86, 0x11, 0xcb, 0xa2, 0x59, 0x91, 0x83, 0xac, 0x94, 0x84,
|
||||
0x90, 0x66, 0xa2, 0xb0, 0xba, 0xc5, 0xdc, 0xe5, 0x12, 0xd3, 0x83, 0x31, 0x80, 0x85, 0x75, 0xea,
|
||||
0xe0, 0x2a, 0xa4, 0x8e, 0x73, 0xb9, 0x5e, 0xa1, 0xf9, 0xa0, 0x2e, 0x32, 0x36, 0x91, 0x34, 0x48,
|
||||
0x97, 0x33, 0x88, 0xf1, 0x78, 0x42, 0x1d, 0xa6, 0xc3, 0x56, 0x79, 0x16, 0x35, 0xd8, 0x0c, 0x7a,
|
||||
0x27, 0xca, 0x76, 0xd6, 0x34, 0xfb, 0x4a, 0xed, 0x90, 0x05, 0x04, 0x74, 0xc8, 0x34, 0x54, 0x9a,
|
||||
0xa5, 0x02, 0xe6, 0xa2, 0x64, 0x48, 0x15, 0xd4, 0x00, 0xec, 0x48, 0xf1, 0x60, 0xe4, 0x14, 0x85,
|
||||
0x97, 0xb3, 0xe6, 0x06, 0xb0, 0x46, 0x93, 0x90, 0x9f, 0x34, 0xb8, 0xab, 0x4d, 0x5e, 0x53, 0xa5,
|
||||
0x20, 0xe1, 0x9a, 0x89, 0x86, 0x30, 0x07, 0x0b, 0xac, 0x1a, 0xeb, 0xbc, 0x6e, 0x35, 0xf5, 0xea,
|
||||
0x0b, 0x0a, 0x13, 0xb6, 0x65, 0x8d, 0x49, 0xd9, 0xce, 0x61, 0xac, 0x06, 0xde, 0xbf, 0x13, 0x59,
|
||||
0xae, 0x98, 0x48, 0x53, 0x0a, 0x1f, 0x30, 0x79, 0xaf, 0x5e, 0x2b, 0xd6, 0xf1, 0x13, 0x9d, 0xa6,
|
||||
0x93, 0x32, 0xbb, 0x37, 0x86, 0x6d, 0x44, 0xde, 0xf3, 0x46, 0x1a, 0xfd, 0xbd, 0x16, 0x29, 0x28,
|
||||
0x92, 0x20, 0x87, 0x9c, 0x1f, 0x1c, 0x7c, 0x37, 0x6a, 0x63, 0x77, 0x54, 0x14, 0x1b, 0xb5, 0xa2,
|
||||
0xcc, 0x58, 0x3b, 0x30, 0x22, 0xb7, 0xf0, 0x06, 0x80, 0x4b, 0x4a, 0x8c, 0x0e, 0x5b, 0x33, 0xf8,
|
||||
0x3f, 0xaa, 0xe1, 0x68, 0x0b, 0x6f, 0x0f, 0x1f, 0x30, 0x86, 0x31, 0x48, 0x0b, 0x87, 0x20, 0xcf,
|
||||
0x7d, 0x0c, 0x14, 0x65, 0x45, 0x2a, 0x69, 0x7c, 0x04, 0x7b, 0x36, 0xa3, 0x62, 0x97, 0xf9, 0xc4,
|
||||
0x3e, 0xf9, 0xe3, 0xc1, 0xa8, 0xcb, 0xf2, 0x86, 0x74, 0x40, 0x37, 0x8f, 0x07, 0x3f, 0xa0, 0xc8,
|
||||
0x2b, 0x62, 0xbb, 0xde, 0xb9, 0x28, 0x6b, 0x51, 0xf8, 0xb0, 0x74, 0x47, 0xd7, 0xdc, 0x67, 0x06,
|
||||
0xc3, 0x26, 0x83, 0x8f, 0x4c, 0x56, 0xab, 0x52, 0x63, 0xd3, 0x8f, 0xca, 0xe7, 0x88, 0xca, 0xa7,
|
||||
0xb5, 0x89, 0x98, 0xb4, 0xae, 0x40, 0x84, 0xef, 0x30, 0xd5, 0x69, 0xd3, 0x1a, 0x25, 0x3a, 0x26,
|
||||
0x9f, 0x38, 0x8c, 0xd1, 0xe5, 0xbc, 0x61, 0xbc, 0x76, 0x64, 0x67, 0xbd, 0x1c, 0x09, 0x97, 0xf0,
|
||||
0xb8, 0x05, 0x1c, 0x1d, 0x89, 0x6c, 0xee, 0xda, 0x33, 0xaa, 0xaf, 0x9d, 0xdc, 0x3b, 0xe1, 0xed,
|
||||
0xf3, 0x61, 0x2c, 0xd6, 0x81, 0x18, 0xf4, 0x5a, 0x7d, 0xeb, 0x97, 0x3e, 0x4b, 0xb7, 0xac, 0xf6,
|
||||
0x43, 0x7b, 0x1b, 0x73, 0x3f, 0x97, 0xf9, 0x94, 0xab, 0x70, 0x11, 0x6d, 0xf4, 0x0d, 0x58, 0x07,
|
||||
0x5d, 0xef, 0x6e, 0xec, 0x7e, 0xd9, 0x9a, 0x65, 0xb3, 0x68, 0x34, 0x8d, 0x48, 0x4a, 0x78, 0xcb,
|
||||
0xea, 0xe0, 0x97, 0xc1, 0x95, 0xdf, 0xb6, 0x46, 0xb4, 0x49, 0xca, 0x0d, 0x63, 0xdd, 0x0b, 0x45,
|
||||
0xe7, 0x25, 0x6b, 0xd1, 0x00, 0x34, 0x2d, 0x12, 0xbd, 0x0d, 0x14, 0x84, 0x57, 0x07, 0xc3, 0x8d,
|
||||
0xbb, 0xc6, 0x0d, 0x30, 0x3a, 0x2c, 0x6e, 0xee, 0xd8, 0x20, 0xd2, 0xbb, 0x1b, 0x92, 0x83, 0xfb,
|
||||
0x31, 0xb9, 0xa7, 0x7b, 0xde, 0x89, 0xc9, 0x41, 0xb8, 0x65, 0xfc, 0xb7, 0x80, 0x6c, 0xe1, 0x41,
|
||||
0x15, 0xd4, 0xfb, 0x5e, 0x09, 0x35, 0x8e, 0x50, 0x9b, 0x68, 0xd1, 0x89, 0x6f, 0x5e, 0xb0, 0x7c,
|
||||
0x69, 0x5e, 0xfc, 0x3e, 0x7c, 0xf7, 0xfe, 0xdd, 0xe9, 0x78, 0xd8, 0xf4, 0x0e, 0xd0, 0xad, 0xa1,
|
||||
0x3e, 0x73, 0xe7, 0x89, 0xc8, 0x87, 0xa3, 0x47, 0x17, 0xb1, 0x86, 0x6a, 0x6f, 0xca, 0x5b, 0x08,
|
||||
0x43, 0xfd, 0xce, 0x40, 0x24, 0xf6, 0xb6, 0x3e, 0x23, 0x17, 0xfa, 0x86, 0x12, 0xc3, 0x2b, 0x02,
|
||||
0xb0, 0xfb, 0xcf, 0x06, 0x83, 0x2d, 0x77, 0xea, 0x8a, 0x40, 0xa3, 0x58, 0x90, 0x3f, 0x9d, 0x33,
|
||||
0xa5, 0x5c, 0xb2, 0x7f, 0x5d, 0x9c, 0xbf, 0x46, 0x5d, 0x5e, 0xcb, 0x3f, 0x6a, 0x69, 0xdd, 0xc1,
|
||||
0x77, 0x02, 0xbf, 0xa5, 0x7a, 0x83, 0x8e, 0xcb, 0x95, 0x85, 0x76, 0x5b, 0x21, 0x52, 0x72, 0x8c,
|
||||
0xbc, 0x0b, 0xfd, 0x8a, 0x75, 0x28, 0x6b, 0x3b, 0x4c, 0x9e, 0x90, 0x15, 0xc1, 0x77, 0xe3, 0xbc,
|
||||
0x91, 0x2b, 0xb7, 0x05, 0x4b, 0x92, 0x91, 0xce, 0xc3, 0x9d, 0x4e, 0x40, 0x53, 0xc0, 0x57, 0x97,
|
||||
0xa3, 0x31, 0x32, 0x3c, 0x6e, 0x1c, 0x42, 0x0c, 0xc8, 0x93, 0xd2, 0x7b, 0xf2, 0x4a, 0x9b, 0xc5,
|
||||
0x09, 0x22, 0x79, 0xd0, 0x56, 0x65, 0xd9, 0x26, 0x75, 0x9f, 0x53, 0x7c, 0x91, 0x28, 0x11, 0x25,
|
||||
0x8c, 0x7d, 0x3f, 0xf8, 0x10, 0x36, 0xa8, 0xd3, 0xbb, 0x32, 0xc0, 0xfa, 0x8d, 0x28, 0x6a, 0x50,
|
||||
0x24, 0x0f, 0x77, 0xf6, 0x36, 0x90, 0xa5, 0xb9, 0x4c, 0xe7, 0x6f, 0xea, 0xc5, 0xa6, 0xce, 0x77,
|
||||
0xfa, 0x3b, 0x92, 0x5c, 0x88, 0xe6, 0x72, 0x15, 0x21, 0x54, 0x69, 0xde, 0x8f, 0xdf, 0x0f, 0x76,
|
||||
0x9f, 0x7d, 0x88, 0x03, 0x14, 0xfb, 0x7b, 0x7e, 0x0c, 0x7b, 0x6d, 0x25, 0x52, 0x2a, 0xc1, 0xb1,
|
||||
0x98, 0xe0, 0xff, 0x29, 0x88, 0x1c, 0x2e, 0xf2, 0x51, 0xae, 0xa6, 0x0e, 0x9f, 0x2f, 0xc1, 0xec,
|
||||
0x46, 0x17, 0xf8, 0x76, 0x54, 0xd0, 0xf3, 0x95, 0x00, 0x5f, 0xd3, 0xba, 0xa8, 0xec, 0xb9, 0x4e,
|
||||
0xe7, 0x74, 0x04, 0xe4, 0xed, 0x8b, 0x78, 0xd4, 0x4a, 0xba, 0x42, 0x86, 0xbe, 0xad, 0xda, 0x2f,
|
||||
0x27, 0x7a, 0x59, 0x7a, 0xb9, 0x08, 0x08, 0x7f, 0xad, 0x17, 0xb4, 0x01, 0xec, 0xa2, 0x97, 0xe7,
|
||||
0xd2, 0x2b, 0xf0, 0xdf, 0xfd, 0x6e, 0xff, 0xed, 0x5a, 0xcd, 0xf2, 0xf5, 0x72, 0x7b, 0xf6, 0x0c,
|
||||
0x81, 0x32, 0xb4, 0x78, 0x22, 0xa9, 0x02, 0xf8, 0x07, 0x24, 0x71, 0x5a, 0xd4, 0x99, 0xb4, 0xfd,
|
||||
0xb5, 0x77, 0x41, 0xf0, 0xe7, 0x9f, 0xed, 0x13, 0xca, 0x95, 0x3e, 0x4f, 0xe4, 0x54, 0xd4, 0x85,
|
||||
0x43, 0xd1, 0xa3, 0x16, 0xb6, 0xca, 0xe4, 0x76, 0x8d, 0x03, 0x2a, 0x79, 0x87, 0x69, 0xc0, 0xbd,
|
||||
0x65, 0x93, 0x40, 0x9c, 0x38, 0xff, 0x23, 0x7f, 0x24, 0x89, 0x5a, 0xef, 0xdb, 0x11, 0x3c, 0xea,
|
||||
0xf3, 0x77, 0xe7, 0xa7, 0x27, 0x20, 0x51, 0x9b, 0xbd, 0xe0, 0xa8, 0x1b, 0xec, 0xb6, 0x59, 0xb0,
|
||||
0xa5, 0x6f, 0x84, 0xe4, 0xe3, 0x14, 0xc6, 0xe7, 0xd8, 0xd4, 0x32, 0x3b, 0xfa, 0x8e, 0x2f, 0x1b,
|
||||
0x98, 0xaa, 0x9d, 0x4e, 0x75, 0xf1, 0xf0, 0x61, 0xdf, 0xf7, 0xa2, 0x41, 0xd8, 0xf7, 0xcd, 0x2a,
|
||||
0xa1, 0x1d, 0xc5, 0xc8, 0x69, 0x03, 0x04, 0x49, 0xf9, 0x99, 0x93, 0x0b, 0x4a, 0xeb, 0xf4, 0xac,
|
||||
0xe2, 0xde, 0xd5, 0x66, 0x1b, 0xce, 0x2f, 0x2a, 0xf0, 0x08, 0xb9, 0xc3, 0x2e, 0x74, 0x26, 0x23,
|
||||
0x76, 0x85, 0x8a, 0xb5, 0x92, 0x49, 0x8a, 0x23, 0x23, 0xdb, 0xd8, 0xd9, 0x15, 0x98, 0x22, 0xbc,
|
||||
0x25, 0xd1, 0xde, 0x96, 0x18, 0x7a, 0x69, 0x41, 0x40, 0xbb, 0x3c, 0xcb, 0x93, 0xf8, 0x17, 0xbe,
|
||||
0xfb, 0xa1, 0xf9, 0xf1, 0x47, 0xfe, 0xf5, 0x73, 0x0e, 0x77, 0x37, 0xcd, 0x2b, 0xb6, 0xd1, 0x27,
|
||||
0xfb, 0xa2, 0x4a, 0x7e, 0xe5, 0x1e, 0xdf, 0xde, 0x61, 0xdc, 0xb6, 0xdc, 0x43, 0xcf, 0x0d, 0xc3,
|
||||
0x7f, 0xa8, 0x05, 0x35, 0x6f, 0x56, 0x9b, 0x02, 0x45, 0xee, 0xe9, 0x22, 0xb5, 0xe0, 0xd0, 0x03,
|
||||
0x6c, 0xf4, 0x1b, 0x0e, 0xe3, 0x66, 0xd8, 0x20, 0x32, 0x07, 0x47, 0x92, 0xe6, 0x84, 0x03, 0x2d,
|
||||
0x34, 0xf6, 0x29, 0xea, 0xa2, 0xc7, 0x14, 0x9e, 0xe9, 0xdb, 0x47, 0xcb, 0xdb, 0x61, 0x64, 0x34,
|
||||
0xe5, 0x0c, 0xa3, 0x40, 0xae, 0xf1, 0xa6, 0xd2, 0x96, 0x26, 0x83, 0x4c, 0xdd, 0x30, 0x4f, 0x2a,
|
||||
0x09, 0x38, 0x0e, 0x70, 0x2c, 0x6f, 0xaf, 0xe5, 0xb2, 0xa8, 0x8e, 0x69, 0x4e, 0x41, 0xe0, 0x1c,
|
||||
0xa2, 0x41, 0xed, 0x26, 0xe1, 0xcd, 0x03, 0x87, 0xd6, 0xb4, 0x50, 0xe9, 0x3c, 0xe1, 0xaf, 0x49,
|
||||
0xed, 0x8b, 0xc3, 0xb8, 0x79, 0x01, 0xd3, 0x20, 0x62, 0x78, 0xff, 0x99, 0xde, 0xfa, 0xd0, 0x31,
|
||||
0x1d, 0xa2, 0x0a, 0xda, 0x9c, 0xbb, 0x75, 0xc2, 0xd6, 0x93, 0x85, 0x82, 0x8d, 0x23, 0x71, 0x23,
|
||||
0x37, 0x5b, 0x72, 0xd3, 0x89, 0xcf, 0xf7, 0x87, 0xbd, 0x51, 0x3b, 0x39, 0xb0, 0x87, 0xec, 0xad,
|
||||
0xef, 0xf3, 0x94, 0x9f, 0x75, 0x05, 0x6c, 0xf6, 0x87, 0xdd, 0x4c, 0xc3, 0xae, 0xce, 0xde, 0x3c,
|
||||
0x67, 0x87, 0xaa, 0xac, 0x6a, 0xd7, 0x8a, 0xae, 0xe0, 0xdc, 0x52, 0x9b, 0x8c, 0x7b, 0x90, 0xf0,
|
||||
0x7e, 0x3d, 0x34, 0xf9, 0xef, 0x56, 0xfd, 0x17, 0x5f, 0x9f, 0x00, 0x2c, 0xf1, 0x19, 0x79, 0x3e,
|
||||
0xc3, 0x48, 0xe6, 0x9f, 0x54, 0xb9, 0xf5, 0xa4, 0x4b, 0x94, 0x0d, 0x65, 0x72, 0xc2, 0xd7, 0xc4,
|
||||
0x41, 0x4c, 0x18, 0x40, 0x56, 0x25, 0x1c, 0xd2, 0x07, 0x6f, 0x3c, 0x59, 0xfc, 0x0d, 0x6a, 0x48,
|
||||
0xf9, 0x02, 0x09, 0x06, 0xa6, 0xc7, 0xec, 0x64, 0x54, 0xca, 0x99, 0x9f, 0xb4, 0xa0, 0x71, 0x3b,
|
||||
0xe1, 0x04, 0x7b, 0xc2, 0x32, 0x35, 0x53, 0x8e, 0x61, 0xdb, 0x04, 0x4c, 0x02, 0x4c, 0x0c, 0xe0,
|
||||
0xa7, 0x90, 0xf8, 0xb0, 0x43, 0x99, 0x2e, 0xb4, 0x79, 0xfe, 0x60, 0x2a, 0x68, 0x7e, 0x7c, 0xf8,
|
||||
0xe0, 0xd9, 0xd3, 0xa7, 0x4f, 0x0f, 0xd8, 0xdb, 0x52, 0x96, 0xa9, 0x59, 0x55, 0x4e, 0x66, 0xcc,
|
||||
0x19, 0x51, 0xda, 0x85, 0xb2, 0x96, 0x2a, 0x84, 0x1d, 0xa3, 0xe3, 0x19, 0xd4, 0x7a, 0xe9, 0xd8,
|
||||
0x32, 0x97, 0x54, 0xbf, 0x05, 0xa6, 0x16, 0x6a, 0x9a, 0x70, 0x35, 0x64, 0x99, 0x66, 0x6f, 0x2e,
|
||||
0xc7, 0x0c, 0xa4, 0xc4, 0x56, 0xba, 0x36, 0x6c, 0x22, 0xca, 0x39, 0x5e, 0xd2, 0x0b, 0x6d, 0x42,
|
||||
0x36, 0x3a, 0xbb, 0x08, 0x99, 0x74, 0x69, 0xc4, 0x2a, 0x55, 0xee, 0xf4, 0xba, 0xc0, 0x1a, 0xff,
|
||||
0x47, 0xfc, 0xc5, 0x96, 0xca, 0x40, 0xa2, 0xb5, 0xac, 0x7f, 0x39, 0x3e, 0x0a, 0x98, 0xd5, 0x53,
|
||||
0xb7, 0x14, 0x46, 0xb2, 0x66, 0xec, 0xba, 0x83, 0xbb, 0x07, 0x6a, 0xa2, 0x3f, 0xaf, 0xe1, 0x7e,
|
||||
0x73, 0xd9, 0x78, 0x78, 0x85, 0x80, 0x54, 0xb9, 0x01, 0x10, 0xdf, 0x8c, 0x54, 0x73, 0xe0, 0xf2,
|
||||
0xea, 0x56, 0x54, 0x1e, 0xef, 0xb7, 0x08, 0x8d, 0x35, 0x10, 0xa4, 0x09, 0x98, 0xc1, 0x8c, 0x90,
|
||||
0x21, 0xef, 0x59, 0x37, 0x55, 0x32, 0x8c, 0x58, 0x16, 0xcd, 0x8a, 0x1c, 0x64, 0xa5, 0x24, 0x84,
|
||||
0x34, 0x13, 0x85, 0xd5, 0x2d, 0xe6, 0x2e, 0x97, 0x98, 0x1e, 0x8c, 0x01, 0x2c, 0xac, 0x53, 0x07,
|
||||
0x57, 0x21, 0x75, 0x9c, 0xcb, 0xf5, 0x0a, 0xcd, 0x07, 0x75, 0x91, 0xb1, 0x89, 0xa4, 0x41, 0xba,
|
||||
0x9c, 0x41, 0x8c, 0xc7, 0x13, 0xea, 0x30, 0x1d, 0xb6, 0xca, 0xb3, 0xa8, 0xc1, 0x66, 0xd8, 0x3b,
|
||||
0x51, 0xb6, 0xb3, 0xa6, 0xd9, 0x57, 0x6a, 0x87, 0x2c, 0x20, 0xa0, 0x43, 0xa6, 0xa1, 0xd2, 0x2c,
|
||||
0x15, 0x30, 0x17, 0x25, 0x43, 0xaa, 0xa0, 0x06, 0x60, 0x47, 0x8a, 0x07, 0x23, 0xa7, 0x28, 0xbc,
|
||||
0x9c, 0x35, 0x37, 0x80, 0x35, 0x9a, 0x84, 0xfc, 0xa4, 0xc1, 0x5d, 0x6d, 0xf2, 0x9a, 0x2a, 0x05,
|
||||
0x09, 0xd7, 0x4c, 0x34, 0x84, 0x39, 0x58, 0x60, 0xd5, 0x58, 0xe7, 0x75, 0xab, 0xa9, 0x57, 0x5f,
|
||||
0x50, 0x98, 0xb0, 0x2d, 0x6b, 0x4c, 0xca, 0x76, 0x0e, 0x63, 0x35, 0xf4, 0xfe, 0x9d, 0xc8, 0x72,
|
||||
0xc5, 0x44, 0x9a, 0x52, 0xf8, 0x80, 0xc9, 0x3b, 0xf5, 0x4a, 0xb1, 0x8e, 0x9f, 0xe8, 0x34, 0x9d,
|
||||
0x94, 0xd9, 0x37, 0x63, 0xd8, 0x46, 0xe4, 0x1d, 0x6f, 0xa4, 0xd1, 0xdf, 0x2b, 0x91, 0x82, 0x22,
|
||||
0x09, 0x72, 0xc8, 0xf9, 0xc1, 0xc1, 0xeb, 0x51, 0x1b, 0xbb, 0xa3, 0xa2, 0xd8, 0xa8, 0x15, 0x65,
|
||||
0xc6, 0xda, 0x81, 0x11, 0xb9, 0x85, 0x37, 0x00, 0x5c, 0x52, 0x62, 0x74, 0xd8, 0x9a, 0xe1, 0xff,
|
||||
0x51, 0x0d, 0x47, 0x5b, 0x78, 0x7b, 0xf8, 0x80, 0x31, 0x8c, 0x41, 0x5a, 0x38, 0x04, 0x79, 0xee,
|
||||
0x63, 0xa0, 0x28, 0x2b, 0x52, 0x49, 0xe3, 0x23, 0xd8, 0xb3, 0x19, 0x15, 0xbb, 0xcc, 0x27, 0xf6,
|
||||
0xc9, 0x1f, 0x0f, 0x47, 0x5d, 0x96, 0x37, 0xa4, 0x03, 0xba, 0x79, 0x3c, 0xfc, 0x01, 0x45, 0xbe,
|
||||
0x25, 0xb6, 0xeb, 0x5d, 0x88, 0xb2, 0x16, 0x85, 0x0f, 0x4b, 0x77, 0x74, 0xcd, 0x7d, 0x66, 0x78,
|
||||
0xda, 0x64, 0xf0, 0x91, 0xc9, 0x6a, 0x55, 0x6a, 0x6c, 0xfa, 0x51, 0xf9, 0x1c, 0x51, 0xf9, 0xb4,
|
||||
0x36, 0x11, 0x93, 0xd6, 0x15, 0x88, 0xf0, 0x1a, 0x53, 0x9d, 0x36, 0xad, 0x51, 0xa2, 0x63, 0xf2,
|
||||
0x89, 0xc3, 0x18, 0x5d, 0xce, 0x1b, 0xc6, 0x6b, 0x47, 0x76, 0xd6, 0xcb, 0x91, 0x70, 0x09, 0x8f,
|
||||
0x5b, 0xc0, 0xd1, 0x91, 0xc8, 0xe6, 0xae, 0x3d, 0xa3, 0xfa, 0xda, 0xc9, 0xbd, 0x13, 0xde, 0x3e,
|
||||
0x1f, 0xc6, 0x62, 0x1d, 0x88, 0x61, 0xaf, 0xd5, 0xb7, 0x7e, 0xe9, 0xb3, 0x74, 0xcb, 0x6a, 0x3f,
|
||||
0xb4, 0xb7, 0x31, 0xf7, 0x73, 0x99, 0x4f, 0xb9, 0x0a, 0x17, 0xd1, 0x46, 0xdf, 0x90, 0x75, 0xd0,
|
||||
0xf5, 0xee, 0xc7, 0xee, 0x97, 0xad, 0x59, 0x36, 0x8b, 0x46, 0xd3, 0x88, 0xa4, 0x84, 0x77, 0xac,
|
||||
0x0e, 0x7e, 0x19, 0xbe, 0xf5, 0xdb, 0xd6, 0x88, 0x36, 0x49, 0xb9, 0x61, 0xac, 0x6f, 0x42, 0xd1,
|
||||
0x79, 0xc9, 0x5a, 0x34, 0x00, 0x4d, 0x8b, 0x44, 0x6f, 0x03, 0x05, 0xe1, 0xd5, 0xc1, 0x70, 0xeb,
|
||||
0xae, 0x71, 0x0b, 0x8c, 0x0e, 0x8b, 0xdb, 0x3b, 0x36, 0x88, 0xf4, 0xee, 0x87, 0x64, 0xff, 0xdb,
|
||||
0x98, 0x7c, 0xa3, 0x7b, 0xde, 0x8b, 0xc9, 0x7e, 0xb8, 0x65, 0xfc, 0xd7, 0x80, 0x6c, 0xe1, 0x41,
|
||||
0x15, 0xd4, 0xfb, 0x5e, 0x09, 0x35, 0x8e, 0x50, 0x9b, 0x68, 0xd1, 0x89, 0x6f, 0x5f, 0xb0, 0x7c,
|
||||
0x69, 0x5e, 0xfe, 0x7e, 0x7a, 0xfd, 0xee, 0xfa, 0x6c, 0x7c, 0xda, 0xf4, 0x0e, 0xd0, 0xad, 0xa1,
|
||||
0x3e, 0x73, 0xef, 0x89, 0xc8, 0x87, 0xa3, 0x47, 0x17, 0xb1, 0x86, 0x6a, 0x6f, 0xcb, 0x5b, 0x08,
|
||||
0x22, 0x8d, 0x3f, 0x6a, 0x74, 0x13, 0x34, 0xc1, 0xe9, 0x36, 0x8d, 0x30, 0x70, 0xb9, 0x91, 0xbb,
|
||||
0x9e, 0x18, 0xdb, 0xcb, 0x9e, 0x57, 0x37, 0x1c, 0x5d, 0x46, 0x6d, 0x5d, 0xbe, 0xbe, 0x83, 0xee,
|
||||
0xc3, 0x35, 0x75, 0x5b, 0x4f, 0x8e, 0x44, 0xc0, 0x13, 0xaa, 0xfc, 0x0c, 0xbd, 0x29, 0xea, 0xaa,
|
||||
0xe6, 0x68, 0x82, 0x4b, 0x56, 0x57, 0x2a, 0x6d, 0x39, 0x74, 0xbf, 0x5a, 0xa0, 0x0d, 0xe7, 0xf5,
|
||||
0x24, 0xc2, 0xcd, 0x31, 0x3e, 0x52, 0x26, 0xd5, 0x5a, 0xcf, 0x95, 0x8c, 0x69, 0x26, 0x8c, 0xd1,
|
||||
0xbd, 0x85, 0x99, 0xd1, 0x8f, 0x29, 0x9f, 0x26, 0x05, 0x5a, 0x26, 0x1f, 0xd0, 0x32, 0xa5, 0x42,
|
||||
0x8f, 0x5d, 0x4b, 0x43, 0x64, 0xc3, 0xf6, 0xa2, 0xfd, 0x27, 0x11, 0xfe, 0x45, 0xfb, 0x9f, 0xce,
|
||||
0xcf, 0xd7, 0xdc, 0xf5, 0x33, 0x5a, 0x96, 0x6a, 0xae, 0x62, 0x7f, 0x83, 0xa0, 0xc1, 0x59, 0x1b,
|
||||
0xbb, 0x0b, 0x76, 0xdc, 0x4d, 0x8d, 0xcc, 0x14, 0xa5, 0x6b, 0xef, 0xb6, 0x0d, 0xdb, 0x5b, 0xd1,
|
||||
0xc1, 0x25, 0xdd, 0x85, 0xc0, 0x84, 0x4a, 0x36, 0xb4, 0x6a, 0x2b, 0x99, 0x2a, 0xb0, 0x8f, 0x43,
|
||||
0x87, 0x98, 0xaf, 0x8b, 0xb8, 0x77, 0xc4, 0xf2, 0x1a, 0x0d, 0xc4, 0xaf, 0xfa, 0x1e, 0x89, 0x56,
|
||||
0x80, 0x1b, 0x80, 0x59, 0xe1, 0x4a, 0x8a, 0xde, 0xa5, 0x19, 0x0d, 0x81, 0x40, 0x0d, 0x34, 0xd9,
|
||||
0xfc, 0x5a, 0xe1, 0xc7, 0xe2, 0x9d, 0xce, 0xa3, 0x5e, 0x3f, 0x0d, 0xd8, 0xc1, 0xde, 0xfe, 0xaf,
|
||||
0xbb, 0x07, 0x7b, 0x07, 0x07, 0xec, 0x55, 0x6e, 0x70, 0xdf, 0x53, 0xe0, 0xd1, 0x51, 0x9a, 0x2f,
|
||||
0xe9, 0xb6, 0xdc, 0xb6, 0xad, 0x33, 0x34, 0x34, 0x5c, 0x44, 0x80, 0x3e, 0x8c, 0x6a, 0xba, 0xee,
|
||||
0x4f, 0x81, 0x31, 0x29, 0xf4, 0x24, 0x5e, 0xe0, 0xa2, 0x28, 0x4d, 0x7c, 0x76, 0xfa, 0x6a, 0xf8,
|
||||
0x76, 0x34, 0xfc, 0x36, 0x0a, 0xbd, 0xf3, 0xd3, 0x31, 0x2b, 0x1a, 0x4d, 0xde, 0x41, 0xb4, 0xba,
|
||||
0xce, 0xd0, 0x91, 0x34, 0xf0, 0x0a, 0x6e, 0x58, 0x8b, 0x86, 0x09, 0x6a, 0xc5, 0xcd, 0xad, 0xec,
|
||||
0x38, 0xc1, 0xaa, 0x8a, 0x53, 0xf5, 0xfa, 0x5b, 0x2d, 0xf3, 0x17, 0x55, 0x22, 0x7d, 0xda, 0xd2,
|
||||
0x30, 0x2c, 0x55, 0x0c, 0xf1, 0x45, 0xf3, 0x4b, 0xc0, 0x77, 0x47, 0xdc, 0x6f, 0x27, 0xdc, 0xde,
|
||||
0x4f, 0x8d, 0xb8, 0x31, 0xf5, 0x1d, 0x7c, 0xd0, 0x64, 0x4f, 0x63, 0x3e, 0xfd, 0xd2, 0xf8, 0x3f,
|
||||
0xd8, 0x52, 0x0d, 0x37, 0x79, 0x14, 0x00, 0x00
|
||||
0x9e, 0x18, 0xdb, 0xcb, 0x9e, 0x57, 0x77, 0x3a, 0xba, 0x8a, 0xda, 0xba, 0x7c, 0x75, 0x0f, 0xdd,
|
||||
0x87, 0x6b, 0xea, 0xb6, 0x9e, 0x1c, 0x89, 0x80, 0x27, 0x54, 0xf9, 0x19, 0x7a, 0x53, 0xd4, 0x55,
|
||||
0xcd, 0xd1, 0x04, 0x97, 0xac, 0xae, 0x54, 0xda, 0x72, 0xe8, 0x7e, 0xb5, 0x40, 0x1b, 0xce, 0xeb,
|
||||
0x49, 0x84, 0x9b, 0x63, 0x7c, 0xa4, 0x4c, 0xaa, 0xb5, 0x9e, 0x2b, 0x19, 0xd3, 0x4c, 0x18, 0xa3,
|
||||
0x7b, 0x0b, 0x33, 0xa3, 0x1f, 0x53, 0x3e, 0x4e, 0x0a, 0xb4, 0x4c, 0x3e, 0xa4, 0x65, 0x4a, 0x85,
|
||||
0x1e, 0xbb, 0x91, 0x86, 0xc8, 0x86, 0x0d, 0xa2, 0xbd, 0x27, 0xd1, 0x20, 0xda, 0x8f, 0x06, 0x1f,
|
||||
0x2f, 0x2e, 0xd6, 0xdc, 0xf5, 0x33, 0x5a, 0x96, 0x6a, 0xae, 0x62, 0x7f, 0x83, 0xa0, 0xc1, 0x59,
|
||||
0x1b, 0xbb, 0x0b, 0x76, 0xdc, 0x4d, 0x8d, 0xcc, 0x14, 0xa5, 0x6b, 0xef, 0xae, 0x0d, 0xdb, 0x5b,
|
||||
0xd1, 0xc1, 0x25, 0xdd, 0x85, 0xc0, 0x84, 0x4a, 0x36, 0xb4, 0x6a, 0x2b, 0x99, 0x2a, 0xb0, 0x8f,
|
||||
0x43, 0x87, 0x98, 0xaf, 0x8b, 0xb8, 0x77, 0xc4, 0xf2, 0x1a, 0x0d, 0xc4, 0xaf, 0xfa, 0x1e, 0x89,
|
||||
0x56, 0x80, 0x1b, 0x80, 0x59, 0xe1, 0x4a, 0x8a, 0xde, 0xa5, 0x19, 0x0d, 0x81, 0x40, 0x0d, 0x34,
|
||||
0xd9, 0xfc, 0x5a, 0xe1, 0xc7, 0xe2, 0x9d, 0xce, 0xa3, 0x5e, 0x3f, 0x0d, 0xd8, 0xfe, 0x60, 0xef,
|
||||
0xd7, 0xdd, 0xfd, 0xc1, 0xfe, 0x3e, 0x7b, 0x99, 0x1b, 0xdc, 0xf7, 0x14, 0x78, 0x74, 0x94, 0xe6,
|
||||
0x4b, 0xba, 0x2d, 0xb7, 0x6d, 0xeb, 0x1c, 0x0d, 0x0d, 0x17, 0x11, 0xa0, 0x0f, 0xa3, 0x9a, 0xae,
|
||||
0xfb, 0x53, 0x60, 0x4c, 0x0a, 0x3d, 0x89, 0x17, 0xb8, 0x28, 0x4a, 0x13, 0x9f, 0x9f, 0xbd, 0x3c,
|
||||
0x7d, 0x33, 0x3a, 0xfd, 0x3a, 0x0a, 0xbd, 0x8b, 0xb3, 0x31, 0x2b, 0x1a, 0x4d, 0xde, 0x41, 0xb4,
|
||||
0xba, 0xce, 0xd0, 0x91, 0x34, 0xf0, 0x0a, 0x6e, 0x58, 0x8b, 0x86, 0x09, 0x6a, 0xc5, 0xcd, 0xad,
|
||||
0xec, 0x38, 0xc1, 0xaa, 0x8a, 0x53, 0xf5, 0xfa, 0x5b, 0x2d, 0xf3, 0x17, 0x55, 0x22, 0x7d, 0xda,
|
||||
0xd2, 0x30, 0x2c, 0x55, 0x0c, 0xf1, 0x45, 0xf3, 0x4b, 0xc0, 0x77, 0x47, 0xdc, 0xaf, 0x27, 0xdc,
|
||||
0xde, 0x4f, 0x8d, 0xb8, 0x31, 0xf5, 0x1d, 0x7c, 0xd0, 0x64, 0x4f, 0x63, 0x3e, 0xfd, 0xd2, 0xf8,
|
||||
0x3f, 0x10, 0x73, 0x7a, 0x48, 0x79, 0x14, 0x00, 0x00
|
||||
};
|
||||
|
||||
|
||||
// Autogenerated from wled00/data/settings_um.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_um_length = 2721;
|
||||
const uint8_t PAGE_settings_um[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xcd, 0x59, 0x5b, 0x73, 0xdb, 0xb8,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xcd, 0x59, 0x5b, 0x73, 0xdb, 0xb8,
|
||||
0x15, 0x7e, 0xd7, 0xaf, 0xa0, 0x11, 0x8f, 0x4d, 0x8e, 0x69, 0x4a, 0x4e, 0x76, 0x3b, 0x59, 0x49,
|
||||
0x90, 0x9b, 0x38, 0xc9, 0x46, 0x8d, 0xb3, 0xf6, 0x54, 0x7b, 0x99, 0x8e, 0xeb, 0x89, 0x69, 0x11,
|
||||
0x92, 0x10, 0x53, 0x00, 0x4b, 0x80, 0xbe, 0x54, 0xd6, 0x7f, 0xef, 0x77, 0x40, 0x52, 0xa2, 0x7c,
|
||||
@@ -1802,7 +1802,7 @@ const uint8_t PAGE_settings_um[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings_2D.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_2D_length = 1754;
|
||||
const uint8_t PAGE_settings_2D[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x8d, 0x58, 0x6d, 0x73, 0xdb, 0x36,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x8d, 0x58, 0x6d, 0x73, 0xdb, 0x36,
|
||||
0x12, 0xfe, 0xce, 0x5f, 0x01, 0x63, 0x3a, 0x2d, 0xd9, 0x50, 0x94, 0xe4, 0xde, 0x75, 0x3a, 0x16,
|
||||
0x49, 0x37, 0x6e, 0xdc, 0xda, 0x1d, 0x7b, 0xe2, 0x89, 0x72, 0xce, 0xdc, 0x5c, 0x3a, 0x29, 0x44,
|
||||
0xae, 0x44, 0xc4, 0x24, 0xc0, 0x01, 0x20, 0xd9, 0xae, 0xe2, 0xff, 0x7e, 0x0b, 0x90, 0x12, 0x25,
|
||||
@@ -1918,7 +1918,7 @@ const uint8_t PAGE_settings_2D[] PROGMEM = {
|
||||
// Autogenerated from wled00/data/settings_pin.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_pin_length = 471;
|
||||
const uint8_t PAGE_settings_pin[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0x5d, 0x52, 0x4d, 0x6f, 0x13, 0x31,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0x5d, 0x52, 0x4d, 0x6f, 0x13, 0x31,
|
||||
0x10, 0xbd, 0xef, 0xaf, 0x30, 0x73, 0x69, 0x82, 0x92, 0x6c, 0xa8, 0xa8, 0x04, 0xaa, 0xbd, 0x42,
|
||||
0x81, 0x1e, 0xb8, 0x94, 0x48, 0xe5, 0x52, 0x55, 0x55, 0xe5, 0xd8, 0xb3, 0x89, 0x55, 0x7f, 0x2c,
|
||||
0xb6, 0x37, 0x21, 0x54, 0xfc, 0x77, 0xc6, 0xbb, 0xa1, 0xa0, 0x5c, 0xd6, 0x7e, 0x33, 0xe3, 0x37,
|
||||
|
||||
2278
wled00/html_simple.h
2278
wled00/html_simple.h
File diff suppressed because it is too large
Load Diff
3958
wled00/html_ui.h
3958
wled00/html_ui.h
File diff suppressed because it is too large
Load Diff
75
wled00/net_debug.cpp
Normal file
75
wled00/net_debug.cpp
Normal file
@@ -0,0 +1,75 @@
|
||||
#include "wled.h"
|
||||
|
||||
#ifdef WLED_DEBUG_HOST
|
||||
|
||||
NetworkDebugPrinter NetDebug;
|
||||
|
||||
void NetworkDebugPrinter::print(const char *s, bool newline) {
|
||||
if (!WLED_CONNECTED || !udpConnected || s == nullptr) return;
|
||||
|
||||
if (!debugPrintHostIP && !debugPrintHostIP.fromString(netDebugPrintHost)) {
|
||||
#ifdef ESP8266
|
||||
WiFi.hostByName(netDebugPrintHost, debugPrintHostIP, 750);
|
||||
#else
|
||||
#ifdef WLED_USE_ETHERNET
|
||||
ETH.hostByName(netDebugPrintHost, debugPrintHostIP);
|
||||
#else
|
||||
WiFi.hostByName(netDebugPrintHost, debugPrintHostIP);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
WiFiUDP debugUdp;
|
||||
debugUdp.beginPacket(debugPrintHostIP, netDebugPrintPort);
|
||||
debugUdp.write(reinterpret_cast<const uint8_t *>(s), strlen(s));
|
||||
if (newline) debugUdp.write('\n');
|
||||
debugUdp.endPacket();
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::print(const __FlashStringHelper* s, bool newline) {
|
||||
char buf[512];
|
||||
strncpy_P(buf, (PGM_P)s, 512);
|
||||
print(buf, newline);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::print(String s) {
|
||||
print(s.c_str());
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::print(unsigned int n, bool newline) {
|
||||
char s[10];
|
||||
snprintf_P(s, sizeof(s), PSTR("%d"), n);
|
||||
s[9] = '\0';
|
||||
print(s, newline);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::println() {
|
||||
print("", true);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::println(const char *s) {
|
||||
print(s, true);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::println(const __FlashStringHelper* s) {
|
||||
print(s, true);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::println(String s) {
|
||||
print(s.c_str(), true);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::println(unsigned int n) {
|
||||
print(n, true);
|
||||
}
|
||||
|
||||
void NetworkDebugPrinter::printf(const char *fmt...) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
char s[1024];
|
||||
vsnprintf(s, sizeof(s), fmt, args);
|
||||
va_end(args);
|
||||
print(s);
|
||||
}
|
||||
|
||||
#endif
|
||||
25
wled00/net_debug.h
Normal file
25
wled00/net_debug.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef WLED_NET_DEBUG_H
|
||||
#define WLED_NET_DEBUG_H
|
||||
|
||||
#include <WString.h>
|
||||
#include <WiFiUdp.h>
|
||||
|
||||
class NetworkDebugPrinter {
|
||||
private:
|
||||
IPAddress debugPrintHostIP;
|
||||
public:
|
||||
void print(const char *s, bool newline = false);
|
||||
void print(const __FlashStringHelper* s, bool newline = false);
|
||||
void print(String s);
|
||||
void print(unsigned int n, bool newline = false);
|
||||
void println();
|
||||
void println(const char *s);
|
||||
void println(const __FlashStringHelper* s);
|
||||
void println(String s);
|
||||
void println(unsigned int n);
|
||||
void printf(const char *fmt, ...);
|
||||
};
|
||||
|
||||
extern NetworkDebugPrinter NetDebug;
|
||||
|
||||
#endif
|
||||
@@ -947,11 +947,13 @@ bool handleSet(AsyncWebServerRequest *request, const String& req, bool apply)
|
||||
} else {
|
||||
nightlightActive = true;
|
||||
if (!aNlDef) nightlightDelayMins = getNumVal(&req, pos);
|
||||
else nightlightDelayMins = nightlightDelayMinsDefault;
|
||||
nightlightStartTime = millis();
|
||||
}
|
||||
} else if (aNlDef)
|
||||
{
|
||||
nightlightActive = true;
|
||||
nightlightDelayMins = nightlightDelayMinsDefault;
|
||||
nightlightStartTime = millis();
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
* UDP sync notifier / Realtime / Hyperion / TPM2.NET
|
||||
*/
|
||||
|
||||
#define UDP_SEG_SIZE 28
|
||||
#define UDP_SEG_SIZE 36
|
||||
#define SEG_OFFSET (41+(MAX_NUM_SEGMENTS*UDP_SEG_SIZE))
|
||||
#define WLEDPACKETSIZE (41+(MAX_NUM_SEGMENTS*UDP_SEG_SIZE)+0)
|
||||
#define UDP_IN_MAXSIZE 1472
|
||||
@@ -46,7 +46,8 @@ void notify(byte callMode, bool followUp)
|
||||
//3: supports FX intensity, 24 byte packet 4: supports transitionDelay 5: sup palette
|
||||
//6: supports timebase syncing, 29 byte packet 7: supports tertiary color 8: supports sys time sync, 36 byte packet
|
||||
//9: supports sync groups, 37 byte packet 10: supports CCT, 39 byte packet 11: per segment options, variable packet length (40+MAX_NUM_SEGMENTS*3)
|
||||
udpOut[11] = 11;
|
||||
//12: enhanced effct sliders, 2D & mapping options
|
||||
udpOut[11] = 12;
|
||||
col = mainseg.colors[1];
|
||||
udpOut[12] = R(col);
|
||||
udpOut[13] = G(col);
|
||||
@@ -105,7 +106,7 @@ void notify(byte callMode, bool followUp)
|
||||
udpOut[6 +ofs] = selseg.spacing;
|
||||
udpOut[7 +ofs] = selseg.offset >> 8;
|
||||
udpOut[8 +ofs] = selseg.offset & 0xFF;
|
||||
udpOut[9 +ofs] = selseg.options & 0x0F; //only take into account mirrored, selected, on, reversed
|
||||
udpOut[9 +ofs] = selseg.options & 0x8F; //only take into account selected, mirrored, on, reversed, reverse_y (for 2D); ignore freeze, reset, transitional
|
||||
udpOut[10+ofs] = selseg.opacity;
|
||||
udpOut[11+ofs] = selseg.mode;
|
||||
udpOut[12+ofs] = selseg.speed;
|
||||
@@ -124,6 +125,14 @@ void notify(byte callMode, bool followUp)
|
||||
udpOut[25+ofs] = B(selseg.colors[2]);
|
||||
udpOut[26+ofs] = W(selseg.colors[2]);
|
||||
udpOut[27+ofs] = selseg.cct;
|
||||
udpOut[28+ofs] = (selseg.options>>8) & 0xFF; //mirror_y, transpose, 2D mapping & sound
|
||||
udpOut[29+ofs] = selseg.custom1;
|
||||
udpOut[30+ofs] = selseg.custom2;
|
||||
udpOut[31+ofs] = selseg.custom3 | (selseg.check1<<5) | (selseg.check2<<6) | (selseg.check3<<7);
|
||||
udpOut[32+ofs] = selseg.startY >> 8;
|
||||
udpOut[33+ofs] = selseg.startY & 0xFF;
|
||||
udpOut[34+ofs] = selseg.stopY >> 8;
|
||||
udpOut[35+ofs] = selseg.stopY & 0xFF;
|
||||
++s;
|
||||
}
|
||||
|
||||
@@ -325,9 +334,9 @@ void handleNotifications()
|
||||
if (version > 6) {
|
||||
strip.setColor(2, RGBW32(udpIn[20], udpIn[21], udpIn[22], udpIn[23])); // tertiary color
|
||||
if (version > 9 && version < 200 && udpIn[37] < 255) { // valid CCT/Kelvin value
|
||||
uint8_t cct = udpIn[38];
|
||||
uint16_t cct = udpIn[38];
|
||||
if (udpIn[37] > 0) { //Kelvin
|
||||
cct = (((udpIn[37] << 8) + udpIn[38]) - 1900) >> 5;
|
||||
cct |= (udpIn[37] << 8);
|
||||
}
|
||||
strip.setCCT(cct);
|
||||
}
|
||||
@@ -346,15 +355,19 @@ void handleNotifications()
|
||||
uint16_t ofs = 41 + i*udpIn[40]; //start of segment offset byte
|
||||
uint8_t id = udpIn[0 +ofs];
|
||||
if (id > strip.getSegmentsNum()) break;
|
||||
|
||||
Segment& selseg = strip.getSegment(id);
|
||||
uint16_t start = (udpIn[1+ofs] << 8 | udpIn[2+ofs]);
|
||||
uint16_t stop = (udpIn[3+ofs] << 8 | udpIn[4+ofs]);
|
||||
if (!selseg.isActive() || !selseg.isSelected()) continue; //do not apply to non selected segments
|
||||
|
||||
uint16_t startY = 0, start = (udpIn[1+ofs] << 8 | udpIn[2+ofs]);
|
||||
uint16_t stopY = 1, stop = (udpIn[3+ofs] << 8 | udpIn[4+ofs]);
|
||||
uint16_t offset = (udpIn[7+ofs] << 8 | udpIn[8+ofs]);
|
||||
if (!receiveSegmentOptions) {
|
||||
strip.setSegment(id, start, stop, selseg.grouping, selseg.spacing, offset);
|
||||
strip.setSegment(id, start, stop, selseg.grouping, selseg.spacing, offset, startY, stopY);
|
||||
continue;
|
||||
}
|
||||
for (size_t j = 0; j<4; j++) selseg.setOption(j, (udpIn[9 +ofs] >> j) & 0x01); //only take into account mirrored, selected, on, reversed
|
||||
//for (size_t j = 1; j<4; j++) selseg.setOption(j, (udpIn[9 +ofs] >> j) & 0x01); //only take into account mirrored, on, reversed; ignore selected
|
||||
selseg.options = (selseg.options & 0x0071U) | (udpIn[9 +ofs] & 0x0E); // ignore selected, freeze, reset & transitional
|
||||
selseg.setOpacity(udpIn[10+ofs]);
|
||||
if (applyEffects) {
|
||||
strip.setMode(id, udpIn[11+ofs]);
|
||||
@@ -368,11 +381,26 @@ void handleNotifications()
|
||||
selseg.setColor(2, RGBW32(udpIn[23+ofs],udpIn[24+ofs],udpIn[25+ofs],udpIn[26+ofs]));
|
||||
selseg.setCCT(udpIn[27+ofs]);
|
||||
}
|
||||
if (version > 11) {
|
||||
// when applying synced options ignore selected as it may be used as indicator of which segments to sync
|
||||
// freeze, reset & transitional should never be synced
|
||||
selseg.options = (selseg.options & 0x0071U) | (udpIn[28+ofs]<<8) | (udpIn[9 +ofs] & 0x8E); // ignore selected, freeze, reset & transitional
|
||||
if (applyEffects) {
|
||||
selseg.custom1 = udpIn[29+ofs];
|
||||
selseg.custom2 = udpIn[30+ofs];
|
||||
selseg.custom3 = udpIn[31+ofs] & 0x1F;
|
||||
selseg.check1 = (udpIn[31+ofs]>>5) & 0x1;
|
||||
selseg.check1 = (udpIn[31+ofs]>>6) & 0x1;
|
||||
selseg.check1 = (udpIn[31+ofs]>>7) & 0x1;
|
||||
}
|
||||
startY = (udpIn[32+ofs] << 8 | udpIn[33+ofs]);
|
||||
stopY = (udpIn[34+ofs] << 8 | udpIn[35+ofs]);
|
||||
}
|
||||
//setSegment() also properly resets segments
|
||||
if (receiveSegmentBounds) {
|
||||
strip.setSegment(id, start, stop, udpIn[5+ofs], udpIn[6+ofs], offset);
|
||||
strip.setSegment(id, start, stop, udpIn[5+ofs], udpIn[6+ofs], offset, startY, stopY);
|
||||
} else {
|
||||
strip.setSegment(id, selseg.start, selseg.stop, udpIn[5+ofs], udpIn[6+ofs], selseg.offset);
|
||||
strip.setSegment(id, selseg.start, selseg.stop, udpIn[5+ofs], udpIn[6+ofs], selseg.offset, selseg.startY, selseg.stopY);
|
||||
}
|
||||
}
|
||||
stateChanged = true;
|
||||
@@ -632,6 +660,12 @@ void sendSysInfoUDP()
|
||||
memcpy((byte *)data + 6, serverDescription, 32);
|
||||
#ifdef ESP8266
|
||||
data[38] = NODE_TYPE_ID_ESP8266;
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP32C3)
|
||||
data[38] = NODE_TYPE_ID_ESP32C3;
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
|
||||
data[38] = NODE_TYPE_ID_ESP32S3;
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
|
||||
data[38] = NODE_TYPE_ID_ESP32S2;
|
||||
#elif defined(ARDUINO_ARCH_ESP32)
|
||||
data[38] = NODE_TYPE_ID_ESP32;
|
||||
#else
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
// version code in format yymmddb (b = daily build)
|
||||
#define VERSION 2211071
|
||||
#define VERSION 2211081
|
||||
|
||||
//uncomment this if you have a "my_config.h" file you'd like to use
|
||||
//#define WLED_USE_MY_CONFIG
|
||||
@@ -95,6 +95,10 @@
|
||||
#include "my_config.h"
|
||||
#endif
|
||||
|
||||
#ifdef WLED_DEBUG_HOST
|
||||
#include "net_debug.h"
|
||||
#endif
|
||||
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#ifdef WLED_ADD_EEPROM_SUPPORT
|
||||
#include <EEPROM.h>
|
||||
@@ -670,13 +674,27 @@ WLED_GLOBAL StaticJsonDocument<JSON_BUFFER_SIZE> doc;
|
||||
WLED_GLOBAL volatile uint8_t jsonBufferLock _INIT(0);
|
||||
|
||||
// enable additional debug output
|
||||
#if defined(WLED_DEBUG_HOST)
|
||||
// On the host side, use netcat to receive the log statements: nc -l 7868 -u
|
||||
// use -D WLED_DEBUG_HOST='"192.168.xxx.xxx"' or FQDN within quotes
|
||||
#define DEBUGOUT NetDebug
|
||||
WLED_GLOBAL char netDebugPrintHost[33] _INIT(WLED_DEBUG_HOST);
|
||||
#if defined(WLED_DEBUG_NET_PORT)
|
||||
WLED_GLOBAL int netDebugPrintPort _INIT(WLED_DEBUG_PORT);
|
||||
#else
|
||||
WLED_GLOBAL int netDebugPrintPort _INIT(7868);
|
||||
#endif
|
||||
#else
|
||||
#define DEBUGOUT Serial
|
||||
#endif
|
||||
|
||||
#ifdef WLED_DEBUG
|
||||
#ifndef ESP8266
|
||||
#include <rom/rtc.h>
|
||||
#endif
|
||||
#define DEBUG_PRINT(x) Serial.print(x)
|
||||
#define DEBUG_PRINTLN(x) Serial.println(x)
|
||||
#define DEBUG_PRINTF(x...) Serial.printf(x)
|
||||
#define DEBUG_PRINT(x) DEBUGOUT.print(x)
|
||||
#define DEBUG_PRINTLN(x) DEBUGOUT.println(x)
|
||||
#define DEBUG_PRINTF(x...) DEBUGOUT.printf(x)
|
||||
#else
|
||||
#define DEBUG_PRINT(x)
|
||||
#define DEBUG_PRINTLN(x)
|
||||
@@ -684,9 +702,9 @@ WLED_GLOBAL volatile uint8_t jsonBufferLock _INIT(0);
|
||||
#endif
|
||||
|
||||
#ifdef WLED_DEBUG_FS
|
||||
#define DEBUGFS_PRINT(x) Serial.print(x)
|
||||
#define DEBUGFS_PRINTLN(x) Serial.println(x)
|
||||
#define DEBUGFS_PRINTF(x...) Serial.printf(x)
|
||||
#define DEBUGFS_PRINT(x) DEBUGOUT.print(x)
|
||||
#define DEBUGFS_PRINTLN(x) DEBUGOUT.println(x)
|
||||
#define DEBUGFS_PRINTF(x...) DEBUGOUT.printf(x)
|
||||
#else
|
||||
#define DEBUGFS_PRINT(x)
|
||||
#define DEBUGFS_PRINTLN(x)
|
||||
|
||||
@@ -227,6 +227,7 @@
|
||||
<ClCompile Include="wled_eeprom.cpp" />
|
||||
<ClCompile Include="wled_server.cpp" />
|
||||
<ClCompile Include="xml.cpp" />
|
||||
<ClCompile Include="net_debug.cpp" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<DebuggerFlavor>VisualMicroDebugger</DebuggerFlavor>
|
||||
|
||||
@@ -719,7 +719,13 @@ void getSettingsJS(byte subPage, char* dest)
|
||||
oappend(SET_F("_"));
|
||||
oappend(releaseString);
|
||||
oappend(SET_F(".bin"));
|
||||
#ifdef ARDUINO_ARCH_ESP32
|
||||
#if defined(CONFIG_IDF_TARGET_ESP32C3)
|
||||
oappend(SET_F("<br>(ESP32-C3"));
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
|
||||
oappend(SET_F("<br>(ESP32-S3"));
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP32S2)
|
||||
oappend(SET_F("<br>(ESP32-S2"));
|
||||
#elif defined(ARDUINO_ARCH_ESP32)
|
||||
oappend(SET_F("<br>(ESP32"));
|
||||
#else
|
||||
oappend(SET_F("<br>(ESP8266"));
|
||||
|
||||
Reference in New Issue
Block a user