switch to visualgdb, update submodule

This commit is contained in:
Thomas Kunze 2018-08-16 23:58:57 +02:00
parent 21bda06133
commit 2a292ae314
8 changed files with 243 additions and 328 deletions

4
.gitignore vendored
View File

@ -243,5 +243,5 @@ ModelManifest.xml
# FAKE - F# Make
.fake/
/CodeDB
/VisualGDBCache
**/CodeDB
**/VisualGDBCache

View File

@ -1,5 +1,5 @@
#include <EEPROM.h>
#include "knx_esp.h"
#include <knx_esp.h>
// declare array of all groupobjects with their sizes in byte
GroupObject groupObjects[]

View File

@ -1,89 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<HasSharedItems>true</HasSharedItems>
<ItemsProjectGuid>{83464ca3-e0d0-4486-82f4-f658f31ddc69}</ItemsProjectGuid>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ProjectCapability Include="SourceItemsFromImports" />
</ItemGroup>
<ItemGroup>
<Text Include="$(MSBuildThisFileDirectory)library.properties" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(MSBuildThisFileDirectory)src\button.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\esp_platform.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\address_table_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\apdu.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\application_layer.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\application_program_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\association_table_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\bau.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\bau57B0.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\bits.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\cemi_frame.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\datapoint_types.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\data_link_layer.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\device_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\group_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\group_object_table_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\interface_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\ip_parameter_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\knx_types.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\memory.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\network_layer.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\npdu.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\platform.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\property_types.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\save_restore.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\table_object.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\tpdu.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\transport_layer.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx_esp.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx_facade.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\led.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\nowifistate.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\programmingmodestate.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\runningstate.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\state.h" />
<ClInclude Include="$(MSBuildThisFileDirectory)src\wpsstate.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(MSBuildThisFileDirectory)src\button.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\esp_platform.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\address_table_object.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\apdu.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\application_layer.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\application_program_object.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\association_table_object.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\bau.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\bau57B0.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\bits.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\cemi_frame.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\datapoint_types.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\data_link_layer.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\device_object.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\group_object.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\group_object_table_object.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\ip_parameter_object.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\memory.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\network_layer.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\npdu.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\table_object.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\tpdu.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\transport_layer.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx_facade.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\led.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\nowifistate.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\programmingmodestate.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\runningstate.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\state.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)src\wpsstate.cpp" />
</ItemGroup>
</Project>

View File

@ -1,224 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;s</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx</Extensions>
</Filter>
<Filter Include="Source Files\knx">
<UniqueIdentifier>{0ee56052-c43f-46b9-ab25-f805ed81e840}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\knx">
<UniqueIdentifier>{e0ae5c46-92be-4bc5-bcae-4e831818010c}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="$(MSBuildThisFileDirectory)library.properties" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(MSBuildThisFileDirectory)src\esp_platform.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx_esp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx_facade.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\address_table_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\apdu.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\application_layer.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\application_program_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\association_table_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\bau.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\bau57B0.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\bits.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\cemi_frame.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\data_link_layer.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\datapoint_types.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\device_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\group_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\group_object_table_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\interface_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\ip_parameter_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\knx_types.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\memory.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\network_layer.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\npdu.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\platform.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\property_types.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\save_restore.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\table_object.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\tpdu.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\knx\transport_layer.h">
<Filter>Header Files\knx</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\nowifistate.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\programmingmodestate.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\runningstate.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\state.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\wpsstate.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\button.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="$(MSBuildThisFileDirectory)src\led.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(MSBuildThisFileDirectory)src\esp_platform.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx_facade.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\address_table_object.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\apdu.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\application_layer.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\application_program_object.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\association_table_object.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\bau.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\bau57B0.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\bits.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\cemi_frame.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\data_link_layer.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\datapoint_types.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\device_object.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\group_object.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\group_object_table_object.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\ip_parameter_object.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\memory.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\network_layer.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\npdu.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\table_object.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\tpdu.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\knx\transport_layer.cpp">
<Filter>Source Files\knx</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\nowifistate.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\programmingmodestate.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\runningstate.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\state.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\wpsstate.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\button.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="$(MSBuildThisFileDirectory)src\led.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -3,6 +3,8 @@
#include <Arduino.h>
#include <EEPROM.h>
#include "knx/bits.h"
EspPlatform::EspPlatform()
{
}
@ -72,17 +74,6 @@ void EspPlatform::closeMultiCast()
_udp.stop();
}
void printHex(const char* suffix, uint8_t *data, uint8_t length)
{
Serial.print(suffix);
for (int i = 0; i<length; i++) {
if (data[i]<0x10) { Serial.print("0"); }
Serial.print(data[i], HEX);
Serial.print(" ");
}
Serial.print("\n");
}
bool EspPlatform::sendBytes(uint8_t * buffer, uint16_t len)
{
printHex("<- ",buffer, len);
@ -120,3 +111,61 @@ void EspPlatform::commitToEeprom()
{
EEPROM.commit();
}
void EspPlatform::setupUart()
{
Serial.begin(19200, SERIAL_8E1);
while (!Serial) ;
}
void EspPlatform::closeUart()
{
Serial.end();
}
int EspPlatform::uartAvailable()
{
return Serial.available();
}
size_t EspPlatform::writeUart(const uint8_t data)
{
printHex("<p", &data, 1);
return Serial.write(data);
}
size_t EspPlatform::writeUart(const uint8_t *buffer, size_t size)
{
printHex("<p", buffer, size);
return Serial.write(buffer, size);
}
int EspPlatform::readUart()
{
int val = Serial.read();
if (val > 0)
printHex("p>", (uint8_t*)&val, 1);
return val;
}
size_t EspPlatform::readBytesUart(uint8_t *buffer, size_t length)
{
size_t toRead = length;
uint8_t* pos = buffer;
while (toRead > 0)
{
size_t val = Serial.readBytes(pos, toRead);
pos += val;
toRead -= val;
}
printHex("p>", buffer, length);
return length;
}

View File

@ -25,6 +25,15 @@ public:
bool sendBytes(uint8_t* buffer, uint16_t len);
int readBytes(uint8_t* buffer, uint16_t maxLen);
//uart
void setupUart();
void closeUart();
int uartAvailable();
size_t writeUart(const uint8_t data);
size_t writeUart(const uint8_t *buffer, size_t size);
int readUart();
size_t readBytesUart(uint8_t *buffer, size_t length);
//memory
uint8_t* getEepromBuffer(uint16_t size);
void commitToEeprom();

@ -1 +1 @@
Subproject commit d710ec327b3b653d4fb3032c41fa717acedd26b9
Subproject commit 7d86f63f8e8399a785278e50532805630fb4e07d

View File

@ -0,0 +1,170 @@
<?xml version="1.0"?>
<VisualGDBProjectSettings2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Project xsi:type="com.visualgdb.project.external.arduino">
<CustomSourceDirectories>
<Directories />
<PathStyle>Unknown</PathStyle>
</CustomSourceDirectories>
<ProjectModeSettings>
<ProjectGUID>6165cd6a-91a4-49fa-977a-48f22086ca8e</ProjectGUID>
<GroupSourcesByTypes>true</GroupSourcesByTypes>
<GroupSourcesByPaths>true</GroupSourcesByPaths>
<SketchSubdirectory>..\examples\knx-esp-demo</SketchSubdirectory>
<MainSketchFile>knx-esp-demo.ino</MainSketchFile>
<RootSketchFolder>
<Subfolders />
<Files>
<string>knx-esp-demo.ino</string>
</Files>
</RootSketchFolder>
<OtherFiles />
</ProjectModeSettings>
</Project>
<Build xsi:type="com.visualgdb.build.external.arduino">
<AdditionalLibraryDirectories>
<string>..\..</string>
</AdditionalLibraryDirectories>
<OutputSubdirectory>Output\$(PlatformName.defuse)\$(ConfigurationName.defuse)</OutputSubdirectory>
<EnableVerboseBuild>false</EnableVerboseBuild>
</Build>
<CustomBuild>
<PreSyncActions />
<PreBuildActions />
<PostBuildActions />
<PreCleanActions />
<PostCleanActions />
</CustomBuild>
<CustomDebug>
<PreDebugActions />
<PostDebugActions />
<DebugStopActions />
<BreakMode>Default</BreakMode>
</CustomDebug>
<CustomShortcuts>
<Shortcuts />
<ShowMessageAfterExecuting>true</ShowMessageAfterExecuting>
</CustomShortcuts>
<UserDefinedVariables />
<ImportedPropertySheets />
<CodeSense>
<Enabled>Unknown</Enabled>
<ExtraSettings>
<HideErrorsInSystemHeaders>true</HideErrorsInSystemHeaders>
<SupportLightweightReferenceAnalysis>true</SupportLightweightReferenceAnalysis>
<CheckForClangFormatFiles>true</CheckForClangFormatFiles>
<FormattingEngine xsi:nil="true" />
</ExtraSettings>
<CodeAnalyzerSettings>
<Enabled>false</Enabled>
</CodeAnalyzerSettings>
</CodeSense>
<Configurations>
<VisualGDBConfiguration>
<PlatformName>NodeMCU 1 0 (ESP-12E 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>gdbstub</ID>
<Configuration xsi:type="com.visualgdb.edp.espxx.settings.gdbstub">
<StubBaudRate>74880</StubBaudRate>
<BootloaderBaudRate>115200</BootloaderBaudRate>
<BootloaderResetDelay>50</BootloaderResetDelay>
<BootloaderActivationSequence>!DTR;RTS;SLEEP;DTR;!RTS;SLEEP;!DTR;SLEEP</BootloaderActivationSequence>
<ProgramMode>Auto</ProgramMode>
<SuppressResetConfirmation>false</SuppressResetConfirmation>
<FLASHSettings>
<Size>size4M</Size>
<Frequency>freq40M</Frequency>
<Mode>QIO</Mode>
</FLASHSettings>
</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:nodemcuv2</BoardID>
<COMPort>COM7</COMPort>
<Properties>
<Entries>
<KeyValue>
<Key>CpuFrequency</Key>
<Value>80</Value>
</KeyValue>
<KeyValue>
<Key>VTable</Key>
<Value>flash</Value>
</KeyValue>
<KeyValue>
<Key>FlashSize</Key>
<Value>4M1M</Value>
</KeyValue>
<KeyValue>
<Key>LwIPVariant</Key>
<Value>v2mss536</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>