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 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. ;)
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)
For esp8266 [WifiManager](https://github.com/tzapu/WiFiManager) is used to configure wifi.
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 <knx.h>
#include <WiFiManager.h>
// declare array of all groupobjects with their sizes in byte
GroupObject groupObjects[]
@ -41,7 +42,7 @@ void updateState();
// from generic_33v_3s_28d
const uint8_t bsec_config_iaq[454] =
{1,7,4,1,61,0,0,0,0,0,0,0,174,1,0,0,48,0,1,0,137,65,0,63,205,204,204,62,0,0,64,63,205,204,204,62,0,0,225,68,0,168,19,73,64,49,119,76,0,0,0,0,0,80,5,95,0,0,0,0,0,0,0,0,28,0,2,0,0,244,1,225,0,25,0,0,128,64,0,0,32,65,144,1,0,0,112,65,0,0,0,63,16,0,3,0,10,215,163,60,10,215,35,59,10,215,35,59,9,0,5,0,0,0,0,0,1,88,0,9,0,229,208,34,62,0,0,0,0,0,0,0,0,218,27,156,62,225,11,67,64,0,0,160,64,0,0,0,0,0,0,0,0,94,75,72,189,93,254,159,64,66,62,160,191,0,0,0,0,0,0,0,0,33,31,180,190,138,176,97,64,65,241,99,190,0,0,0,0,0,0,0,0,167,121,71,61,165,189,41,192,184,30,189,64,12,0,10,0,0,0,0,0,0,0,0,0,229,0,254,0,2,1,5,48,117,100,0,44,1,112,23,151,7,132,3,197,0,92,4,144,1,64,1,64,1,144,1,48,117,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,48,117,48,117,100,0,100,0,100,0,100,0,48,117,48,117,48,117,100,0,100,0,100,0,48,117,48,117,100,0,100,0,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,8,7,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,112,23,255,255,255,255,255,255,255,255,220,5,220,5,220,5,255,255,255,255,255,255,220,5,220,5,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,1,0,0,0,0,50,91,0,0};
{ 1, 7, 4, 1, 61, 0, 0, 0, 0, 0, 0, 0, 174, 1, 0, 0, 48, 0, 1, 0, 137, 65, 0, 63, 205, 204, 204, 62, 0, 0, 64, 63, 205, 204, 204, 62, 0, 0, 225, 68, 0, 168, 19, 73, 64, 49, 119, 76, 0, 0, 0, 0, 0, 80, 5, 95, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 2, 0, 0, 244, 1, 225, 0, 25, 0, 0, 128, 64, 0, 0, 32, 65, 144, 1, 0, 0, 112, 65, 0, 0, 0, 63, 16, 0, 3, 0, 10, 215, 163, 60, 10, 215, 35, 59, 10, 215, 35, 59, 9, 0, 5, 0, 0, 0, 0, 0, 1, 88, 0, 9, 0, 229, 208, 34, 62, 0, 0, 0, 0, 0, 0, 0, 0, 218, 27, 156, 62, 225, 11, 67, 64, 0, 0, 160, 64, 0, 0, 0, 0, 0, 0, 0, 0, 94, 75, 72, 189, 93, 254, 159, 64, 66, 62, 160, 191, 0, 0, 0, 0, 0, 0, 0, 0, 33, 31, 180, 190, 138, 176, 97, 64, 65, 241, 99, 190, 0, 0, 0, 0, 0, 0, 0, 0, 167, 121, 71, 61, 165, 189, 41, 192, 184, 30, 189, 64, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 254, 0, 2, 1, 5, 48, 117, 100, 0, 44, 1, 112, 23, 151, 7, 132, 3, 197, 0, 92, 4, 144, 1, 64, 1, 64, 1, 144, 1, 48, 117, 48, 117, 48, 117, 48, 117, 100, 0, 100, 0, 100, 0, 48, 117, 48, 117, 48, 117, 100, 0, 100, 0, 48, 117, 48, 117, 100, 0, 100, 0, 100, 0, 100, 0, 48, 117, 48, 117, 48, 117, 100, 0, 100, 0, 100, 0, 48, 117, 48, 117, 100, 0, 100, 0, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 255, 255, 255, 255, 255, 255, 255, 255, 220, 5, 220, 5, 220, 5, 255, 255, 255, 255, 255, 255, 220, 5, 220, 5, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 1, 0, 0, 0, 0, 50, 91, 0, 0 };
// Create an object of the class Bsec
@ -57,6 +58,10 @@ void setup(void)
Serial.begin(115200);
delay(5000);
Serial.println("start");
WiFiManager wifiManager;
wifiManager.autoConnect("knx-bme680");
// register group objects
knx.registerGroupObjects(groupObjects, 10);
@ -99,7 +104,7 @@ void setup(void)
iaqSensor.updateSubscription(sensorList, 7, BSEC_SAMPLE_RATE_LP);
checkIaqSensorStatus();
String output = "Timestamp [ms], raw temperature [°C], pressure [hPa], raw relative humidity [%], gas [Ohm], IAQ, IAQ accuracy, temperature [°C], relative humidity [%], CO2";
String output = "Timestamp [ms], raw temperature [°C], pressure [hPa], raw relative humidity [%], gas [Ohm], IAQ, IAQ accuracy, temperature [°C], relative humidity [%], CO2";
Serial.println(output);
}
@ -115,17 +120,17 @@ void loop(void)
if (iaqSensor.run())
{
String output = String(millis());
output += ", " + String(iaqSensor.rawTemperature);
output += ", " + String(iaqSensor.pressure);
output += ", " + String(iaqSensor.rawHumidity);
output += ", " + String(iaqSensor.gasResistance);
output += ", " + String(iaqSensor.iaqEstimate);
output += ", " + String(iaqSensor.iaqAccuracy);
output += ", " + String(iaqSensor.temperature);
output += ", " + String(iaqSensor.humidity);
output += ", " + String(iaqSensor.co2Equivalent);
output += ", " + String(iaqSensor.co2Accuracy);
String output = String(millis());
output += ", " + String(iaqSensor.rawTemperature);
output += ", " + String(iaqSensor.pressure);
output += ", " + String(iaqSensor.rawHumidity);
output += ", " + String(iaqSensor.gasResistance);
output += ", " + String(iaqSensor.iaqEstimate);
output += ", " + String(iaqSensor.iaqAccuracy);
output += ", " + String(iaqSensor.temperature);
output += ", " + String(iaqSensor.humidity);
output += ", " + String(iaqSensor.co2Equivalent);
output += ", " + String(iaqSensor.co2Accuracy);
Serial.println(output);
updateState();

View File

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

View File

@ -1,4 +1,5 @@
#include <knx.h>
#include <WiFiManager.h>
#define RELAYPIN 12
@ -32,6 +33,9 @@ void setup()
{
SerialDBG.begin(115200);
WiFiManager wifiManager;
wifiManager.autoConnect("knx-sonoffS20");
// register group objects
knx.registerGroupObjects(groupObjects, 3);
// 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 "state.h"
#include "button.h"
#include "led.h"
#include "nowifistate.h"
#ifdef ARDUINO_ARCH_SAMD
SamdPlatform platform;
@ -13,7 +9,20 @@ Bau57B0 bau(platform);
#endif
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)
{
manufacturerId(0xfa);
@ -76,16 +85,6 @@ void KnxFacade::writeMemory()
}
void KnxFacade::loop()
{
#ifdef USE_STATES
if (currentState)
currentState->loop();
#else
knxLoop();
#endif
}
void KnxFacade::knxLoop()
{
_bau.loop();
}
@ -126,15 +125,8 @@ void KnxFacade::start()
pinMode(_buttonPin, INPUT_PULLUP);
#ifdef USE_STATES
attachInterrupt(_buttonPin, buttonDown, FALLING);
switchToSate(noWifiState);
checkStates();
_ticker.attach_ms(100, doLed);
#else
attachInterrupt(knx.buttonPin(), buttonUp, RISING);
attachInterrupt(_buttonPin, buttonUp, RISING);
enabled(true);
#endif
}
uint8_t* KnxFacade::paramData(uint32_t addr)

View File

@ -1,7 +1,5 @@
#pragma once
#include "arch_config.h"
#ifdef ARDUINO_ARCH_SAMD
#include "samd_platform.h"
#include "knx/bau07B0.h"
@ -13,9 +11,6 @@
#include "knx/bau57B0.h"
#endif
#ifdef USE_STATES
class RunningState;
#endif
typedef uint8_t* (*saveRestoreCallback)(uint8_t* buffer);
@ -35,7 +30,6 @@ public:
void readMemory();
void writeMemory();
void loop();
void knxLoop();
void registerGroupObjects(GroupObject* groupObjects, uint16_t count);
void manufacturerId(uint16_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>
</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">
<AdditionalStartupCommands />
<AdditionalGDBSettings>
@ -297,7 +297,7 @@
</KeyValue>
<KeyValue>
<Key>exception</Key>
<Value>enabled</Value>
<Value>disabled</Value>
</KeyValue>
<KeyValue>
<Key>eesz</Key>
@ -328,121 +328,6 @@
<DebugUnoptimizedComponentTypes>Sketch</DebugUnoptimizedComponentTypes>
</BuildSettingsExtension>
</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>
<ProgramArgumentsSuggestions />
</VisualGDBProjectSettings2>

View File

@ -17,44 +17,37 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
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|x64 = Debug|x64
Debug|x86 = Debug|x86
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|x64 = MinSizeRel|x64
MinSizeRel|x86 = MinSizeRel|x86
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|x64 = Release|x64
Release|x86 = Release|x86
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|x64 = RelWithDebInfo|x64
RelWithDebInfo|x86 = RelWithDebInfo|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{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.Build.0 = 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}.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|Generic ESP8266 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).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|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.Build.0 = 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.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|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.Build.0 = 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}.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|Generic ESP8266 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).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|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.Build.0 = 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
{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|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).Build.0 = 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|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|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).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|Generic ESP8266 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|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.Build.0 = 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}.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|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).Build.0 = 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|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|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).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|Generic ESP8266 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|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.Build.0 = 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.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|Generic ESP8266 Module.ActiveCfg = Debug|Generic ESP8266 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).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|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|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}.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|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 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).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|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.Build.0 = 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}.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|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 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).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|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|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}.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|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 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).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|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.Build.0 = 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)
{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|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).Build.0 = 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|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|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).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|Generic ESP8266 Module.Build.0 = 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|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.Build.0 = 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}.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|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).Build.0 = 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|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|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).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|Generic ESP8266 Module.Build.0 = 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|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.Build.0 = 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.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|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|x64.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}.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|Generic ESP8266 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).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|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.Build.0 = 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.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|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|x64.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}.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|Generic ESP8266 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).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|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.Build.0 = 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
{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|Generic ESP8266 Module.ActiveCfg = Debug|Generic ESP8266 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|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = 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|x64.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).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|Generic ESP8266 Module.Build.0 = 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|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.Build.0 = 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}.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|Generic ESP8266 Module.ActiveCfg = Release|Generic ESP8266 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|NodeMCU_1 0_(ESP-12E_Module).ActiveCfg = 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|x64.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).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|Generic ESP8266 Module.Build.0 = 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|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.Build.0 = Release|Generic ESP8266 Module
{3DB3061B-09A3-4C8B-A197-CBEEB3336437}.RelWithDebInfo|x64.ActiveCfg = Release|Generic ESP8266 Module