add WifiManger to examples, remove states for wps configuration

This commit is contained in:
Thomas Kunze 2019-02-26 22:42:06 +01:00
parent 5903651cfa
commit f2b97ecd09
24 changed files with 86 additions and 838 deletions

View File

@ -5,14 +5,7 @@ The necessary knxprod-files can be generated with my [CreateKnxProd](https://git
The visual studio files use the [VisualGdb](https://visualgdb.com/). But you can use the lib in Arduino as usual. The visual studio files use the [VisualGdb](https://visualgdb.com/). But you can use the lib in Arduino as usual.
The linux Version can be build with cmake. The linux Version can be build with cmake.
For esp8266 WPS is used. Current esp8266 arduino core disables WPS. I forgot how to reenable it. But google should be able to help. ;) For esp8266 [WifiManager](https://github.com/tzapu/WiFiManager) is used to configure wifi.
The stack does the following on esp8266:
1. Boot. If Wifi is configured goto 3. Led is on. On short button press goto 2
2. Try to connecto to wifi with WPS. If successful goto 3 else goto 1 (Led blinks)
3. App running. (Led off) On short button press goto 4. On long button press goto 2
4. Programming mod. (Led blinks fast). On short button press goto 3.
This behavior can be disabled in arch_config.h (remove the #define USE_STATES)
Don't forget to reset ESP8266 manually (disconnect power) after flashing. The reboot doen't work during configuration with ETS otherwise. Don't forget to reset ESP8266 manually (disconnect power) after flashing. The reboot doen't work during configuration with ETS otherwise.

View File

@ -1,5 +1,6 @@
#include <bsec.h> #include <bsec.h>
#include <knx.h> #include <knx.h>
#include <WiFiManager.h>
// declare array of all groupobjects with their sizes in byte // declare array of all groupobjects with their sizes in byte
GroupObject groupObjects[] GroupObject groupObjects[]
@ -57,6 +58,10 @@ void setup(void)
Serial.begin(115200); Serial.begin(115200);
delay(5000); delay(5000);
Serial.println("start"); Serial.println("start");
WiFiManager wifiManager;
wifiManager.autoConnect("knx-bme680");
// register group objects // register group objects
knx.registerGroupObjects(groupObjects, 10); knx.registerGroupObjects(groupObjects, 10);

View File

@ -1,5 +1,6 @@
#include <HDC100X.h> #include <HDC100X.h>
#include <knx.h> #include <knx.h>
#include <WiFiManager.h>
#define SerialDBG SerialUSB #define SerialDBG SerialUSB
@ -31,6 +32,9 @@ void setup(void)
delay(5000); delay(5000);
SerialDBG.println("start"); SerialDBG.println("start");
WiFiManager wifiManager;
wifiManager.autoConnect("knx-hdc1008");
// Programming LED on digital pin D5 // Programming LED on digital pin D5
knx.ledPin(5); knx.ledPin(5);
// Programming button on digital pin D7 // Programming button on digital pin D7

View File

@ -1,4 +1,5 @@
#include <knx.h> #include <knx.h>
#include <WiFiManager.h>
#define RELAYPIN 12 #define RELAYPIN 12
@ -32,6 +33,9 @@ void setup()
{ {
SerialDBG.begin(115200); SerialDBG.begin(115200);
WiFiManager wifiManager;
wifiManager.autoConnect("knx-sonoffS20");
// register group objects // register group objects
knx.registerGroupObjects(groupObjects, 3); knx.registerGroupObjects(groupObjects, 3);
// read adress table, association table, groupobject table and parameters from eeprom // read adress table, association table, groupobject table and parameters from eeprom

View File

@ -1,7 +0,0 @@
#pragma once
#ifdef ARDUINO_ARCH_ESP8266
#ifndef USE_STATES
#define USE_STATES
#endif
#endif

View File

@ -1,40 +0,0 @@
#include "button.h"
#include "state.h"
#include "knx_facade.h"
#ifdef USE_STATES
unsigned long buttonTimestamp = 0;
void buttonDown()
{
buttonTimestamp = millis();
attachInterrupt(knx.buttonPin(), buttonUp, RISING);
}
#endif
void buttonUp()
{
#ifdef USE_STATES
if (millis() - buttonTimestamp > 1000)
{
Serial.println("long button press");
currentState->longButtonPress();
}
else
{
Serial.println("short button press");
currentState->shortButtonPress();
}
attachInterrupt(knx.buttonPin(), buttonDown, FALLING);
#else if (knx.progMode())
{
digitalWrite(knx.ledPin(), LOW);
knx.progMode(false);
}
else
{
digitalWrite(knx.ledPin(), HIGH);
knx.progMode(true);
}
#endif
}

View File

@ -1,8 +0,0 @@
#pragma once
#include "arch_config.h"
#ifdef USE_STATES
void buttonDown();
#endif
void buttonUp();

View File

@ -1,8 +1,4 @@
#include "knx_facade.h" #include "knx_facade.h"
#include "state.h"
#include "button.h"
#include "led.h"
#include "nowifistate.h"
#ifdef ARDUINO_ARCH_SAMD #ifdef ARDUINO_ARCH_SAMD
SamdPlatform platform; SamdPlatform platform;
@ -13,6 +9,19 @@ Bau57B0 bau(platform);
#endif #endif
KnxFacade knx(bau); KnxFacade knx(bau);
void buttonUp()
{
if (knx.progMode())
{
digitalWrite(knx.ledPin(), LOW);
knx.progMode(false);
}
else
{
digitalWrite(knx.ledPin(), HIGH);
knx.progMode(true);
}
}
KnxFacade::KnxFacade(BauSystemB& bau) : _bau(bau) KnxFacade::KnxFacade(BauSystemB& bau) : _bau(bau)
{ {
@ -76,16 +85,6 @@ void KnxFacade::writeMemory()
} }
void KnxFacade::loop() void KnxFacade::loop()
{
#ifdef USE_STATES
if (currentState)
currentState->loop();
#else
knxLoop();
#endif
}
void KnxFacade::knxLoop()
{ {
_bau.loop(); _bau.loop();
} }
@ -126,15 +125,8 @@ void KnxFacade::start()
pinMode(_buttonPin, INPUT_PULLUP); pinMode(_buttonPin, INPUT_PULLUP);
#ifdef USE_STATES attachInterrupt(_buttonPin, buttonUp, RISING);
attachInterrupt(_buttonPin, buttonDown, FALLING);
switchToSate(noWifiState);
checkStates();
_ticker.attach_ms(100, doLed);
#else
attachInterrupt(knx.buttonPin(), buttonUp, RISING);
enabled(true); enabled(true);
#endif
} }
uint8_t* KnxFacade::paramData(uint32_t addr) uint8_t* KnxFacade::paramData(uint32_t addr)

View File

@ -1,7 +1,5 @@
#pragma once #pragma once
#include "arch_config.h"
#ifdef ARDUINO_ARCH_SAMD #ifdef ARDUINO_ARCH_SAMD
#include "samd_platform.h" #include "samd_platform.h"
#include "knx/bau07B0.h" #include "knx/bau07B0.h"
@ -13,9 +11,6 @@
#include "knx/bau57B0.h" #include "knx/bau57B0.h"
#endif #endif
#ifdef USE_STATES
class RunningState;
#endif
typedef uint8_t* (*saveRestoreCallback)(uint8_t* buffer); typedef uint8_t* (*saveRestoreCallback)(uint8_t* buffer);
@ -35,7 +30,6 @@ public:
void readMemory(); void readMemory();
void writeMemory(); void writeMemory();
void loop(); void loop();
void knxLoop();
void registerGroupObjects(GroupObject* groupObjects, uint16_t count); void registerGroupObjects(GroupObject* groupObjects, uint16_t count);
void manufacturerId(uint16_t value); void manufacturerId(uint16_t value);
void bauNumber(uint32_t value); void bauNumber(uint32_t value);

View File

@ -1,174 +0,0 @@
#include "knx_facade.h"
#if 0
KnxFacade knx;
#define SerialDBG SerialUSB
void buttonUp();
long buttonTimestamp = 0;
void buttonDown()
{
buttonTimestamp = millis();
attachInterrupt(knx.buttonPin(), buttonUp, RISING);
}
void buttonUp()
{
// keep short/long for now
if (millis() - buttonTimestamp > 1000)
{
SerialDBG.println("long button press");
}
else
{
SerialDBG.println("short button press");
}
if (knx.progMode())
{
digitalWrite(knx.ledPin(), LOW);
knx.progMode(false);
}
else
{
digitalWrite(knx.ledPin(), HIGH);
knx.progMode(true);
}
attachInterrupt(knx.buttonPin(), buttonDown, FALLING);
}
KnxFacade::KnxFacade() : _bau(_platform)
{
manufacturerId(0xfa);
}
bool KnxFacade::enabled()
{
return _bau.enabled();
}
void KnxFacade::enabled(bool value)
{
_bau.enabled(true);
}
bool KnxFacade::progMode()
{
return _bau.deviceObject().progMode();
}
void KnxFacade::progMode(bool value)
{
_bau.deviceObject().progMode(value);
}
bool KnxFacade::configured()
{
return _bau.configured();
}
uint32_t KnxFacade::ledPin()
{
return _ledPin;
}
void KnxFacade::ledPin(uint32_t value)
{
_ledPin = value;
}
uint32_t KnxFacade::buttonPin()
{
return _buttonPin;
}
void KnxFacade::buttonPin(uint32_t value)
{
_buttonPin = value;
}
void KnxFacade::readMemory()
{
_bau.readMemory();
}
void KnxFacade::loop()
{
_bau.loop();
}
void KnxFacade::registerGroupObjects(GroupObject* groupObjects, uint16_t count)
{
_bau.groupObjectTable().groupObjects(groupObjects, count);
}
void KnxFacade::manufacturerId(uint16_t value)
{
_bau.deviceObject().manufacturerId(value);
}
void KnxFacade::bauNumber(uint32_t value)
{
_bau.deviceObject().bauNumber(value);
}
void KnxFacade::orderNumber(const char* value)
{
_bau.deviceObject().orderNumber(value);
}
void KnxFacade::hardwareType(uint8_t* value)
{
_bau.deviceObject().hardwareType(value);
}
void KnxFacade::version(uint16_t value)
{
_bau.deviceObject().version(value);
}
void KnxFacade::start()
{
pinMode(_ledPin, OUTPUT);
pinMode(_buttonPin, INPUT_PULLUP);
attachInterrupt(_buttonPin, buttonDown, FALLING);
enabled(true);
}
uint8_t* KnxFacade::paramData(uint32_t addr)
{
if (!_bau.configured())
return nullptr;
return _bau.parameters().data(addr);
}
uint8_t KnxFacade::paramByte(uint32_t addr)
{
if (!_bau.configured())
return 0;
return _bau.parameters().getByte(addr);
}
uint16_t KnxFacade::paramWord(uint32_t addr)
{
if (!_bau.configured())
return 0;
return _bau.parameters().getWord(addr);
}
uint32_t KnxFacade::paramInt(uint32_t addr)
{
if (!_bau.configured())
return 0;
return _bau.parameters().getInt(addr);
}
#endif

View File

@ -1,30 +0,0 @@
#include "led.h"
#include "knx_facade.h"
#include "state.h"
#ifdef USE_STATES
void doLed()
{
if (!currentState)
return;
if (!currentState->ledOn())
{
digitalWrite(knx.ledPin(), HIGH);
return;
}
unsigned int period = currentState->blinkPeriod();
if (!currentState->ledBlink() || period == 0)
{
digitalWrite(knx.ledPin(), LOW);
return;
}
if ((millis() % period) > (period / 2))
digitalWrite(knx.ledPin(), HIGH);
else
digitalWrite(knx.ledPin(), LOW);
}
#endif

View File

@ -1,7 +0,0 @@
#pragma once
#include "arch_config.h"
#ifdef USE_STATES
void doLed();
#endif

View File

@ -1,39 +0,0 @@
#include "nowifistate.h"
#include "wpsstate.h"
#include "runningstate.h"
#ifdef USE_STATES
#include <ESP8266WiFi.h>
NoWifiState noWifiState = NoWifiState();
void NoWifiState::shortButtonPress()
{
switchToSate(wpsState);
}
void NoWifiState::longButtonPress()
{
switchToSate(wpsState);
}
void NoWifiState::enterState()
{
WiFi.mode(WIFI_STA);
WiFi.begin("", "");
while (WiFi.status() == WL_DISCONNECTED)
{
delay(500);
Serial.print(".");
}
wl_status_t status = WiFi.status();
if (status == WL_CONNECTED)
{
Serial.printf("\nConnected successful to SSID '%s'\n", WiFi.SSID().c_str());
switchToSate(runningState);
}
}
#endif

View File

@ -1,20 +0,0 @@
#pragma once
#include "state.h"
#ifdef USE_STATES
class NoWifiState : public State
{
public:
NoWifiState() : State(true, false, 0)
{}
virtual void shortButtonPress();
virtual void longButtonPress();
virtual void enterState();
virtual const char* name() { return "NoWifi"; }
};
extern NoWifiState noWifiState;
#endif

View File

@ -1,28 +0,0 @@
#include "programmingmodestate.h"
#include "runningstate.h"
#include "knx_facade.h"
#ifdef USE_STATES
ProgramModeState programModeState = ProgramModeState();
void ProgramModeState::enterState()
{
knx.progMode(true);
}
void ProgramModeState::leaveState()
{
knx.progMode(false);
}
void ProgramModeState::shortButtonPress()
{
switchToSate(runningState);
}
void ProgramModeState::loop()
{
State::loop();
knx.knxLoop();
}
#endif

View File

@ -1,21 +0,0 @@
#pragma once
#include "state.h"
#ifdef USE_STATES
class ProgramModeState : public State
{
public:
ProgramModeState() : State(true, true, 200)
{}
virtual void enterState();
virtual void leaveState();
virtual void shortButtonPress();
virtual void loop();
virtual const char* name() { return "ProgramMode"; }
};
extern ProgramModeState programModeState;
#endif

View File

@ -1,43 +0,0 @@
#include "runningstate.h"
#include "programmingmodestate.h"
#include "wpsstate.h"
#include "knx_facade.h"
#ifdef USE_STATES
RunningState runningState = RunningState();
void RunningState::shortButtonPress()
{
switchToSate(programModeState);
}
void RunningState::longButtonPress()
{
switchToSate(wpsState);
}
void RunningState::enterState()
{
if (_initialized)
return;
knx.enabled(true);
_initialized = true;
}
void RunningState::leaveState()
{
if (nextState != &programModeState)
{
_initialized = false;
knx.enabled(false);
}
}
void RunningState::loop()
{
State::loop();
knx.knxLoop();
}
#endif

View File

@ -1,21 +0,0 @@
#pragma once
#include "state.h"
#ifdef USE_STATES
class RunningState : public State
{
public:
RunningState() : State(false, false, 0)
{}
virtual void shortButtonPress();
virtual void longButtonPress();
virtual void enterState();
virtual void leaveState();
virtual void loop();
virtual const char* name() { return "Running"; }
private:
bool _initialized = false;
};
extern RunningState runningState;
#endif

View File

@ -1,57 +0,0 @@
#include "state.h"
#include "Arduino.h"
#ifdef USE_STATES
State* volatile currentState = 0;
State* volatile nextState = 0;
void switchToSate(State& state)
{
nextState = &state;
}
void checkStates()
{
if (!nextState)
return;
if (nextState == currentState)
return;
if (currentState)
{
printf("Leave %s\n", currentState->name());
currentState->leaveState();
}
currentState = nextState;
if (currentState)
{
printf("Enter %s\n", currentState->name());
currentState->enterState();
}
}
bool State::ledOn()
{
return _ledOn;
}
bool State::ledBlink()
{
return _ledBlink;
}
unsigned int State::blinkPeriod()
{
return _blinkPeriod;
}
void State::loop()
{
checkStates();
}
#endif

View File

@ -1,34 +0,0 @@
#pragma once
#include "arch_config.h"
#ifdef USE_STATES
class State
{
public:
State(bool led, bool blink, int period) :
_ledOn(led), _ledBlink(blink), _blinkPeriod(period)
{}
virtual ~State() {}
bool ledOn();
bool ledBlink();
unsigned int blinkPeriod();
virtual void shortButtonPress() {}
virtual void longButtonPress() {}
virtual void enterState() {}
virtual void leaveState() {}
virtual void loop();
virtual const char* name() = 0;
private:
bool _ledOn;
bool _ledBlink;
int _blinkPeriod;
};
void switchToSate(State& state);
void checkStates();
extern State* volatile currentState;
extern State* volatile nextState;
#endif

View File

@ -1,33 +0,0 @@
#include "arch_config.h"
#ifdef USE_STATES
#include <ESP8266WiFi.h>
#include "wpsstate.h"
#include "runningstate.h"
#include "nowifistate.h"
WpsState wpsState = WpsState();
void WpsState::enterState()
{
//invalidate old wifi settings first
WiFi.begin("fobar", "a12");
Serial.println("WPS config start");
bool wpsSuccess = WiFi.beginWPSConfig();
if (wpsSuccess) {
String newSSID = WiFi.SSID();
if (newSSID.length() > 0)
{
Serial.printf("WPS finished. Connected successfull to SSID '%s'\n", newSSID.c_str());
switchToSate(runningState);
}
else
{
Serial.printf("WPS failed.");
switchToSate(noWifiState);
}
}
}
#endif

View File

@ -1,17 +0,0 @@
#pragma once
#include "state.h"
#ifdef USE_STATES
class WpsState : public State
{
public:
WpsState() : State(true, true, 400)
{}
virtual void enterState();
virtual const char* name() { return "Wps"; }
};
extern WpsState wpsState;
#endif

View File

@ -235,7 +235,7 @@
</BuildSettingsExtension> </BuildSettingsExtension>
</VisualGDBConfiguration> </VisualGDBConfiguration>
<VisualGDBConfiguration> <VisualGDBConfiguration>
<PlatformName>NodeMCU 1 0 (ESP-12E Module)</PlatformName> <PlatformName>NodeMCU_1 0_(ESP-12E_Module)</PlatformName>
<DebugSettingsOverride xsi:type="com.visualgdb.debug.embedded"> <DebugSettingsOverride xsi:type="com.visualgdb.debug.embedded">
<AdditionalStartupCommands /> <AdditionalStartupCommands />
<AdditionalGDBSettings> <AdditionalGDBSettings>
@ -297,7 +297,7 @@
</KeyValue> </KeyValue>
<KeyValue> <KeyValue>
<Key>exception</Key> <Key>exception</Key>
<Value>enabled</Value> <Value>disabled</Value>
</KeyValue> </KeyValue>
<KeyValue> <KeyValue>
<Key>eesz</Key> <Key>eesz</Key>
@ -328,121 +328,6 @@
<DebugUnoptimizedComponentTypes>Sketch</DebugUnoptimizedComponentTypes> <DebugUnoptimizedComponentTypes>Sketch</DebugUnoptimizedComponentTypes>
</BuildSettingsExtension> </BuildSettingsExtension>
</VisualGDBConfiguration> </VisualGDBConfiguration>
<VisualGDBConfiguration>
<PlatformName>Generic ESP8266 Module</PlatformName>
<DebugSettingsOverride xsi:type="com.visualgdb.debug.embedded">
<AdditionalStartupCommands />
<AdditionalGDBSettings>
<Features>
<DisableAutoDetection>false</DisableAutoDetection>
<UseFrameParameter>false</UseFrameParameter>
<SimpleValuesFlagSupported>false</SimpleValuesFlagSupported>
<ListLocalsSupported>false</ListLocalsSupported>
<ByteLevelMemoryCommandsAvailable>false</ByteLevelMemoryCommandsAvailable>
<ThreadInfoSupported>false</ThreadInfoSupported>
<PendingBreakpointsSupported>false</PendingBreakpointsSupported>
<SupportTargetCommand>false</SupportTargetCommand>
<ReliableBreakpointNotifications>false</ReliableBreakpointNotifications>
</Features>
<EnableSmartStepping>false</EnableSmartStepping>
<FilterSpuriousStoppedNotifications>false</FilterSpuriousStoppedNotifications>
<ForceSingleThreadedMode>false</ForceSingleThreadedMode>
<UseAppleExtensions>false</UseAppleExtensions>
<CanAcceptCommandsWhileRunning>false</CanAcceptCommandsWhileRunning>
<MakeLogFile>false</MakeLogFile>
<IgnoreModuleEventsWhileStepping>true</IgnoreModuleEventsWhileStepping>
<UseRelativePathsOnly>false</UseRelativePathsOnly>
<ExitAction>None</ExitAction>
<DisableDisassembly>false</DisableDisassembly>
<ExamineMemoryWithXCommand>false</ExamineMemoryWithXCommand>
<StepIntoNewInstanceEntry>main</StepIntoNewInstanceEntry>
<ExamineRegistersInRawFormat>true</ExamineRegistersInRawFormat>
<DisableSignals>false</DisableSignals>
<EnableAsyncExecutionMode>false</EnableAsyncExecutionMode>
<EnableNonStopMode>false</EnableNonStopMode>
<MaxBreakpointLimit>0</MaxBreakpointLimit>
</AdditionalGDBSettings>
<DebugMethod>
<ID>gdbsim</ID>
<Configuration>
<Entries />
</Configuration>
</DebugMethod>
<AutoDetectRTOS>true</AutoDetectRTOS>
<SemihostingSupport>Auto</SemihostingSupport>
<SemihostingPollingDelay>0</SemihostingPollingDelay>
<StepIntoEntryPoint>false</StepIntoEntryPoint>
<ReloadFirmwareOnReset>false</ReloadFirmwareOnReset>
<ValidateEndOfStackAddress>true</ValidateEndOfStackAddress>
<StopAtEntryPoint>false</StopAtEntryPoint>
<EnableVirtualHalts>false</EnableVirtualHalts>
<DynamicAnalysisSettings />
<EndOfStackSymbol>_estack</EndOfStackSymbol>
<TimestampProviderTicksPerSecond>0</TimestampProviderTicksPerSecond>
<KeepConsoleAfterExit>false</KeepConsoleAfterExit>
<CheckInterfaceDrivers>true</CheckInterfaceDrivers>
</DebugSettingsOverride>
<BuildSettingsExtension xsi:type="com.visualgdb.build.external.arduino.extension">
<BoardID>esp8266:esp8266:generic</BoardID>
<Properties>
<Entries>
<KeyValue>
<Key>CpuFrequency</Key>
<Value>80</Value>
</KeyValue>
<KeyValue>
<Key>VTable</Key>
<Value>flash</Value>
</KeyValue>
<KeyValue>
<Key>ResetMethod</Key>
<Value>none</Value>
</KeyValue>
<KeyValue>
<Key>CrystalFreq</Key>
<Value>26</Value>
</KeyValue>
<KeyValue>
<Key>FlashFreq</Key>
<Value>40</Value>
</KeyValue>
<KeyValue>
<Key>FlashMode</Key>
<Value>dout</Value>
</KeyValue>
<KeyValue>
<Key>FlashSize</Key>
<Value>1M0</Value>
</KeyValue>
<KeyValue>
<Key>led</Key>
<Value>13</Value>
</KeyValue>
<KeyValue>
<Key>LwIPVariant</Key>
<Value>v2mss1460</Value>
</KeyValue>
<KeyValue>
<Key>Debug</Key>
<Value>Disabled</Value>
</KeyValue>
<KeyValue>
<Key>DebugLevel</Key>
<Value>None____</Value>
</KeyValue>
<KeyValue>
<Key>FlashErase</Key>
<Value>none</Value>
</KeyValue>
<KeyValue>
<Key>UploadSpeed</Key>
<Value>115200</Value>
</KeyValue>
</Entries>
</Properties>
<DebugUnoptimizedComponentTypes>Sketch</DebugUnoptimizedComponentTypes>
</BuildSettingsExtension>
</VisualGDBConfiguration>
</Configurations> </Configurations>
<ProgramArgumentsSuggestions /> <ProgramArgumentsSuggestions />
</VisualGDBProjectSettings2> </VisualGDBProjectSettings2>

View File

@ -17,44 +17,37 @@ EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Arduino Genuino Zero (Native USB Port) = Debug|Arduino Genuino Zero (Native USB Port) Debug|Arduino Genuino Zero (Native USB Port) = Debug|Arduino Genuino Zero (Native USB Port)
Debug|Generic ESP8266 Module = Debug|Generic ESP8266 Module Debug|NodeMCU_1 0_(ESP-12E_Module) = Debug|NodeMCU_1 0_(ESP-12E_Module)
Debug|NodeMCU 1 0 (ESP-12E Module) = Debug|NodeMCU 1 0 (ESP-12E Module)
Debug|VisualGDB = Debug|VisualGDB Debug|VisualGDB = Debug|VisualGDB
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
Debug|x86 = Debug|x86 Debug|x86 = Debug|x86
MinSizeRel|Arduino Genuino Zero (Native USB Port) = MinSizeRel|Arduino Genuino Zero (Native USB Port) MinSizeRel|Arduino Genuino Zero (Native USB Port) = MinSizeRel|Arduino Genuino Zero (Native USB Port)
MinSizeRel|Generic ESP8266 Module = MinSizeRel|Generic ESP8266 Module MinSizeRel|NodeMCU_1 0_(ESP-12E_Module) = MinSizeRel|NodeMCU_1 0_(ESP-12E_Module)
MinSizeRel|NodeMCU 1 0 (ESP-12E Module) = MinSizeRel|NodeMCU 1 0 (ESP-12E Module)
MinSizeRel|VisualGDB = MinSizeRel|VisualGDB MinSizeRel|VisualGDB = MinSizeRel|VisualGDB
MinSizeRel|x64 = MinSizeRel|x64 MinSizeRel|x64 = MinSizeRel|x64
MinSizeRel|x86 = MinSizeRel|x86 MinSizeRel|x86 = MinSizeRel|x86
Release|Arduino Genuino Zero (Native USB Port) = Release|Arduino Genuino Zero (Native USB Port) Release|Arduino Genuino Zero (Native USB Port) = Release|Arduino Genuino Zero (Native USB Port)
Release|Generic ESP8266 Module = Release|Generic ESP8266 Module Release|NodeMCU_1 0_(ESP-12E_Module) = Release|NodeMCU_1 0_(ESP-12E_Module)
Release|NodeMCU 1 0 (ESP-12E Module) = Release|NodeMCU 1 0 (ESP-12E Module)
Release|VisualGDB = Release|VisualGDB Release|VisualGDB = Release|VisualGDB
Release|x64 = Release|x64 Release|x64 = Release|x64
Release|x86 = Release|x86 Release|x86 = Release|x86
RelWithDebInfo|Arduino Genuino Zero (Native USB Port) = RelWithDebInfo|Arduino Genuino Zero (Native USB Port) RelWithDebInfo|Arduino Genuino Zero (Native USB Port) = RelWithDebInfo|Arduino Genuino Zero (Native USB Port)
RelWithDebInfo|Generic ESP8266 Module = RelWithDebInfo|Generic ESP8266 Module RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module) = RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module)
RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module) = RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module)
RelWithDebInfo|VisualGDB = RelWithDebInfo|VisualGDB RelWithDebInfo|VisualGDB = RelWithDebInfo|VisualGDB
RelWithDebInfo|x64 = RelWithDebInfo|x64 RelWithDebInfo|x64 = RelWithDebInfo|x64
RelWithDebInfo|x86 = RelWithDebInfo|x86 RelWithDebInfo|x86 = RelWithDebInfo|x86
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|Generic ESP8266 Module.ActiveCfg = Debug|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Debug|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|VisualGDB.ActiveCfg = Debug|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|VisualGDB.Build.0 = Debug|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|VisualGDB.Build.0 = Debug|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|x64.ActiveCfg = Debug|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|x64.ActiveCfg = Debug|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|x86.ActiveCfg = Debug|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Debug|x86.ActiveCfg = Debug|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Generic ESP8266 Module.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|Generic ESP8266 Module.Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|VisualGDB.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|VisualGDB.ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|VisualGDB.Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|VisualGDB.Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|x64.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|x64.ActiveCfg = Release|VisualGDB
@ -62,18 +55,15 @@ Global
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|x86.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|x86.ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|x86.Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.MinSizeRel|x86.Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|Generic ESP8266 Module.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|VisualGDB.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Release|VisualGDB.ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|VisualGDB.Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Release|VisualGDB.Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|x64.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Release|x64.ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.Release|x86.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.Release|x86.ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Generic ESP8266 Module.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|Generic ESP8266 Module.Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|VisualGDB.Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|VisualGDB.Build.0 = Release|VisualGDB
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|x64.ActiveCfg = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|x64.ActiveCfg = Release|VisualGDB
@ -82,18 +72,14 @@ Global
{819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|x86.Build.0 = Release|VisualGDB {819E55F9-05A8-454D-B771-4A99F775DD87}.RelWithDebInfo|x86.Build.0 = Release|VisualGDB
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|Generic ESP8266 Module.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|NodeMCU 1 0 (ESP-12E Module).Build.0 = Debug|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|VisualGDB.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|VisualGDB.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|x64.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|x64.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|x86.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Debug|x86.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Generic ESP8266 Module.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|Generic ESP8266 Module.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|VisualGDB.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|VisualGDB.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|VisualGDB.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|VisualGDB.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x64.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x64.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
@ -102,18 +88,14 @@ Global
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x86.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.MinSizeRel|x86.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|Generic ESP8266 Module.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|x64.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|x64.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|x86.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.Release|x86.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Generic ESP8266 Module.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|Generic ESP8266 Module.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|VisualGDB.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|VisualGDB.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x64.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x64.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
@ -121,19 +103,15 @@ Global
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x86.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x86.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x86.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module) {58AFEECD-06E2-4BB7-A13F-E1D5DBAED13F}.RelWithDebInfo|x86.Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Generic ESP8266 Module.ActiveCfg = Debug|Generic ESP8266 Module {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|NodeMCU_1 0_(ESP-12E_Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|Generic ESP8266 Module.Build.0 = Debug|Generic ESP8266 Module {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Debug|NodeMCU_1 0_(ESP-12E_Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|NodeMCU 1 0 (ESP-12E Module).Build.0 = Debug|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|VisualGDB.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|VisualGDB.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|x64.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|x64.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|x86.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Debug|x86.ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 Module {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|Generic ESP8266 Module.Build.0 = Release|Generic ESP8266 Module {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|VisualGDB.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|VisualGDB.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
@ -142,19 +120,15 @@ Global
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.MinSizeRel|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 Module {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|Generic ESP8266 Module.Build.0 = Release|Generic ESP8266 Module {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.Release|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 Module {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU_1 0_(ESP-12E_Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|Generic ESP8266 Module.Build.0 = Release|Generic ESP8266 Module {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU_1 0_(ESP-12E_Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|VisualGDB.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|VisualGDB.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
@ -163,18 +137,14 @@ Global
{6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {6165CD6A-91A4-49FA-977A-48F22086CA8E}.RelWithDebInfo|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|Generic ESP8266 Module.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|NodeMCU 1 0 (ESP-12E Module).Build.0 = Debug|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|VisualGDB.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|VisualGDB.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|x64.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|x64.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|x86.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Debug|x86.ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Generic ESP8266 Module.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|Generic ESP8266 Module.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|VisualGDB.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|VisualGDB.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
@ -183,18 +153,14 @@ Global
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.MinSizeRel|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|Generic ESP8266 Module.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|VisualGDB.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|VisualGDB.ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.Release|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Generic ESP8266 Module.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|Generic ESP8266 Module.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|VisualGDB.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|VisualGDB.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|x64.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
@ -202,18 +168,15 @@ Global
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|x86.ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port) {527A0D25-BC8E-47B8-AA56-BD991BE6CC67}.RelWithDebInfo|x86.Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|Generic ESP8266 Module.ActiveCfg = Debug|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Debug|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|VisualGDB.ActiveCfg = Debug|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|VisualGDB.ActiveCfg = Debug|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x64.ActiveCfg = Debug|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x64.ActiveCfg = Debug|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x86.ActiveCfg = Debug|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x86.ActiveCfg = Debug|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x86.Build.0 = Debug|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Debug|x86.Build.0 = Debug|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Generic ESP8266 Module.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|Generic ESP8266 Module.Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|VisualGDB.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|VisualGDB.ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|VisualGDB.Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|VisualGDB.Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x64.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x64.ActiveCfg = Release|Win32
@ -221,18 +184,15 @@ Global
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x86.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x86.ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x86.Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.MinSizeRel|x86.Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|Generic ESP8266 Module.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|VisualGDB.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|VisualGDB.ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x64.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x64.ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x86.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x86.ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x86.Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.Release|x86.Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Generic ESP8266 Module.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|Generic ESP8266 Module.Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|VisualGDB.Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|VisualGDB.Build.0 = Release|Win32
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x64.ActiveCfg = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x64.ActiveCfg = Release|Win32
@ -241,19 +201,14 @@ Global
{68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x86.Build.0 = Release|Win32 {68FCB2F7-7A74-43A0-8CBE-36CB25020584}.RelWithDebInfo|x86.Build.0 = Release|Win32
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port) {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Arduino Genuino Zero (Native USB Port).ActiveCfg = Debug|Arduino Genuino Zero (Native USB Port)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port) {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Arduino Genuino Zero (Native USB Port).Build.0 = Debug|Arduino Genuino Zero (Native USB Port)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Generic ESP8266 Module.ActiveCfg = Debug|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|Generic ESP8266 Module.Build.0 = Debug|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Debug|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|NodeMCU 1 0 (ESP-12E Module).Build.0 = Debug|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|VisualGDB.ActiveCfg = Debug|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|VisualGDB.ActiveCfg = Debug|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|x64.ActiveCfg = Debug|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|x64.ActiveCfg = Debug|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|x86.ActiveCfg = Debug|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Debug|x86.ActiveCfg = Debug|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|Generic ESP8266 Module.Build.0 = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|VisualGDB.Build.0 = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|VisualGDB.Build.0 = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x64.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x64.ActiveCfg = Release|Generic ESP8266 Module
@ -262,19 +217,14 @@ Global
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x86.Build.0 = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.MinSizeRel|x86.Build.0 = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|Generic ESP8266 Module.Build.0 = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|x64.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|x64.ActiveCfg = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|x86.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.Release|x86.ActiveCfg = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port) {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).ActiveCfg = Release|Arduino Genuino Zero (Native USB Port)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port) {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Arduino Genuino Zero (Native USB Port).Build.0 = Release|Arduino Genuino Zero (Native USB Port)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|Generic ESP8266 Module.Build.0 = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|NodeMCU_1 0_(ESP-12E_Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).ActiveCfg = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|NodeMCU 1 0 (ESP-12E Module).Build.0 = Release|NodeMCU 1 0 (ESP-12E Module)
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|VisualGDB.ActiveCfg = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|VisualGDB.Build.0 = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|VisualGDB.Build.0 = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|x64.ActiveCfg = Release|Generic ESP8266 Module {3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|x64.ActiveCfg = Release|Generic ESP8266 Module