diff --git a/etc/visual-studio/UnitTests.vcxproj b/etc/visual-studio/UnitTests.vcxproj
index 0633b875c..6777a4dcb 100644
--- a/etc/visual-studio/UnitTests.vcxproj
+++ b/etc/visual-studio/UnitTests.vcxproj
@@ -104,7 +104,7 @@
Windows
$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)
- ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;%(AdditionalDependencies)
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-uart.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;%(AdditionalDependencies)
@@ -120,7 +120,7 @@
Windows
$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)
- ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;%(AdditionalDependencies)
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-uart.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;%(AdditionalDependencies)
@@ -138,7 +138,7 @@
true
true
$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)
- ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;%(AdditionalDependencies)
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-uart.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;%(AdditionalDependencies)
@@ -158,7 +158,7 @@
true
true
$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)
- ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;%(AdditionalDependencies)
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-uart.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;%(AdditionalDependencies)
@@ -168,6 +168,7 @@
+
@@ -181,6 +182,9 @@
+
+ {d94867d2-6dae-47e2-962a-5e8e658134d1}
+
{dd5018be-54c6-4fd4-9f8d-08d52fc0cd40}
diff --git a/etc/visual-studio/UnitTests.vcxproj.filters b/etc/visual-studio/UnitTests.vcxproj.filters
index 9f59c14dc..5dbcb99fc 100644
--- a/etc/visual-studio/UnitTests.vcxproj.filters
+++ b/etc/visual-studio/UnitTests.vcxproj.filters
@@ -51,6 +51,9 @@
Source Files
+
+ Source Files
+
diff --git a/etc/visual-studio/libopenthread-ncp-spi.vcxproj b/etc/visual-studio/libopenthread-ncp-spi.vcxproj
new file mode 100644
index 000000000..8cdd7493a
--- /dev/null
+++ b/etc/visual-studio/libopenthread-ncp-spi.vcxproj
@@ -0,0 +1,172 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}
+ Win32Proj
+ Thread
+ 8.1
+ libopenthread-ncp-spi
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\
+
+
+ true
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\
+
+
+ false
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\
+
+
+ false
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_LIB;MBEDTLS_CONFIG_FILE="mbedtls-config.h";OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src;..\..\src\core;..\..\third_party\mbedtls;..\..\third_party\mbedtls\repo\include;%(AdditionalIncludeDirectories)
+
+
+ Windows
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_LIB;MBEDTLS_CONFIG_FILE="mbedtls-config.h";OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src;..\..\src\core;..\..\third_party\mbedtls;..\..\third_party\mbedtls\repo\include;%(AdditionalIncludeDirectories)
+
+
+ Windows
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_LIB;MBEDTLS_CONFIG_FILE="mbedtls-config.h";OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src;..\..\src\core;..\..\third_party\mbedtls;..\..\third_party\mbedtls\repo\include;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_LIB;MBEDTLS_CONFIG_FILE="mbedtls-config.h";OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src;..\..\src\core;..\..\third_party\mbedtls;..\..\third_party\mbedtls\repo\include;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/etc/visual-studio/libopenthread-ncp-spi.vcxproj.filters b/etc/visual-studio/libopenthread-ncp-spi.vcxproj.filters
new file mode 100644
index 000000000..a2f8547ca
--- /dev/null
+++ b/etc/visual-studio/libopenthread-ncp-spi.vcxproj.filters
@@ -0,0 +1,45 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/etc/visual-studio/libopenthread-ncp-uart.vcxproj b/etc/visual-studio/libopenthread-ncp-uart.vcxproj
new file mode 100644
index 000000000..f86282fb4
--- /dev/null
+++ b/etc/visual-studio/libopenthread-ncp-uart.vcxproj
@@ -0,0 +1,176 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}
+ Win32Proj
+ Thread
+ 8.1
+ libopenthread-ncp-uart
+
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+ StaticLibrary
+ true
+ v140
+ Unicode
+
+
+ StaticLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\
+
+
+ true
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\
+
+
+ false
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\
+
+
+ false
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_LIB;MBEDTLS_CONFIG_FILE="mbedtls-config.h";OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src;..\..\src\core;..\..\third_party\mbedtls;..\..\third_party\mbedtls\repo\include;%(AdditionalIncludeDirectories)
+
+
+ Windows
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_LIB;MBEDTLS_CONFIG_FILE="mbedtls-config.h";OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src;..\..\src\core;..\..\third_party\mbedtls;..\..\third_party\mbedtls\repo\include;%(AdditionalIncludeDirectories)
+
+
+ Windows
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_LIB;MBEDTLS_CONFIG_FILE="mbedtls-config.h";OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src;..\..\src\core;..\..\third_party\mbedtls;..\..\third_party\mbedtls\repo\include;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ true
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_LIB;MBEDTLS_CONFIG_FILE="mbedtls-config.h";OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src;..\..\src\core;..\..\third_party\mbedtls;..\..\third_party\mbedtls\repo\include;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ true
+
+
+
+
+
+
\ No newline at end of file
diff --git a/etc/visual-studio/libopenthread-ncp-uart.vcxproj.filters b/etc/visual-studio/libopenthread-ncp-uart.vcxproj.filters
new file mode 100644
index 000000000..1c903f4ab
--- /dev/null
+++ b/etc/visual-studio/libopenthread-ncp-uart.vcxproj.filters
@@ -0,0 +1,57 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
\ No newline at end of file
diff --git a/etc/visual-studio/openthread.sln b/etc/visual-studio/openthread.sln
index 150034748..b8f99d146 100644
--- a/etc/visual-studio/openthread.sln
+++ b/etc/visual-studio/openthread.sln
@@ -34,6 +34,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libopenthread-cli", "libope
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ot-cli", "ot-cli.vcxproj", "{91D3ADEA-F1FE-4433-95B6-F8F6A7CF7BAF}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libopenthread-ncp-spi", "libopenthread-ncp-spi.vcxproj", "{B92F449E-0FD9-44FC-ACFA-6521A3240CA2}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libopenthread-ncp-uart", "libopenthread-ncp-uart.vcxproj", "{D94867D2-6DAE-47E2-962A-5E8E658134D1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ot-ncp-spi", "ot-ncp-spi.vcxproj", "{B4C744EC-B662-46C6-A076-FB58FA8FDF1B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ot-ncp-uart", "ot-ncp-uart.vcxproj", "{9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
@@ -110,6 +118,38 @@ Global
{91D3ADEA-F1FE-4433-95B6-F8F6A7CF7BAF}.Release|x64.Build.0 = Release|x64
{91D3ADEA-F1FE-4433-95B6-F8F6A7CF7BAF}.Release|x86.ActiveCfg = Release|Win32
{91D3ADEA-F1FE-4433-95B6-F8F6A7CF7BAF}.Release|x86.Build.0 = Release|Win32
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}.Debug|x64.ActiveCfg = Debug|x64
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}.Debug|x64.Build.0 = Debug|x64
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}.Debug|x86.ActiveCfg = Debug|Win32
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}.Debug|x86.Build.0 = Debug|Win32
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}.Release|x64.ActiveCfg = Release|x64
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}.Release|x64.Build.0 = Release|x64
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}.Release|x86.ActiveCfg = Release|Win32
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2}.Release|x86.Build.0 = Release|Win32
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}.Debug|x64.ActiveCfg = Debug|x64
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}.Debug|x64.Build.0 = Debug|x64
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}.Debug|x86.ActiveCfg = Debug|Win32
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}.Debug|x86.Build.0 = Debug|Win32
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}.Release|x64.ActiveCfg = Release|x64
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}.Release|x64.Build.0 = Release|x64
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}.Release|x86.ActiveCfg = Release|Win32
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1}.Release|x86.Build.0 = Release|Win32
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}.Debug|x64.ActiveCfg = Debug|x64
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}.Debug|x64.Build.0 = Debug|x64
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}.Debug|x86.ActiveCfg = Debug|Win32
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}.Debug|x86.Build.0 = Debug|Win32
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}.Release|x64.ActiveCfg = Release|x64
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}.Release|x64.Build.0 = Release|x64
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}.Release|x86.ActiveCfg = Release|Win32
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}.Release|x86.Build.0 = Release|Win32
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}.Debug|x64.ActiveCfg = Debug|x64
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}.Debug|x64.Build.0 = Debug|x64
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}.Debug|x86.ActiveCfg = Debug|Win32
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}.Debug|x86.Build.0 = Debug|Win32
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}.Release|x64.ActiveCfg = Release|x64
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}.Release|x64.Build.0 = Release|x64
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}.Release|x86.ActiveCfg = Release|Win32
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -123,5 +163,9 @@ Global
{30723C38-BA3B-44C9-8D64-C5861A26934F} = {76EA541E-CAB1-4DB5-A39F-E3DB2A78CDDD}
{41B32069-632E-4578-855B-A36EBFA80B56} = {95BD0669-04C8-4EEB-B3CC-0535B03F4468}
{91D3ADEA-F1FE-4433-95B6-F8F6A7CF7BAF} = {76EA541E-CAB1-4DB5-A39F-E3DB2A78CDDD}
+ {B92F449E-0FD9-44FC-ACFA-6521A3240CA2} = {95BD0669-04C8-4EEB-B3CC-0535B03F4468}
+ {D94867D2-6DAE-47E2-962A-5E8E658134D1} = {95BD0669-04C8-4EEB-B3CC-0535B03F4468}
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B} = {76EA541E-CAB1-4DB5-A39F-E3DB2A78CDDD}
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324} = {76EA541E-CAB1-4DB5-A39F-E3DB2A78CDDD}
EndGlobalSection
EndGlobal
diff --git a/etc/visual-studio/ot-ncp-spi.vcxproj b/etc/visual-studio/ot-ncp-spi.vcxproj
new file mode 100644
index 000000000..5d4429da8
--- /dev/null
+++ b/etc/visual-studio/ot-ncp-spi.vcxproj
@@ -0,0 +1,184 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {B4C744EC-B662-46C6-A076-FB58FA8FDF1B}
+ Win32Proj
+ Thread
+ 8.1
+
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\exe\
+
+
+ true
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\exe\
+
+
+ false
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\exe\
+
+
+ false
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\exe\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src\core;..\..\examples\platforms
+
+
+ Console
+ true
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-spi.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-windows.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_CONSOLE;OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src\core;..\..\examples\platforms
+
+
+ Console
+ true
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-spi.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-windows.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src\core;..\..\examples\platforms
+
+
+ Console
+ true
+ true
+ true
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-spi.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-windows.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_CONSOLE;OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src\core;..\..\examples\platforms
+
+
+ Console
+ true
+ true
+ true
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-spi.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-windows.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+
+ {dd5018be-54c6-4fd4-9f8d-08d52fc0cd40}
+
+
+ {b92f449e-0fd9-44fc-acfa-6521a3240ca2}
+
+
+ {4111c8bb-d354-4348-ad3c-eb6832e84831}
+
+
+ {30723c38-ba3b-44c9-8d64-c5861a26934f}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/etc/visual-studio/ot-ncp-spi.vcxproj.filters b/etc/visual-studio/ot-ncp-spi.vcxproj.filters
new file mode 100644
index 000000000..3cfd287ac
--- /dev/null
+++ b/etc/visual-studio/ot-ncp-spi.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/etc/visual-studio/ot-ncp-uart.vcxproj b/etc/visual-studio/ot-ncp-uart.vcxproj
new file mode 100644
index 000000000..b9d4b82e9
--- /dev/null
+++ b/etc/visual-studio/ot-ncp-uart.vcxproj
@@ -0,0 +1,184 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {9EEF9DCD-EA8F-4154-BD02-AB2B31CEC324}
+ Win32Proj
+ Thread
+ 8.1
+
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\exe\
+
+
+ true
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\exe\
+
+
+ false
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\exe\
+
+
+ false
+ ..\..\build\obj\$(Platform)\$(Configuration)\$(ProjectName)\
+ ..\..\build\bin\$(Platform)\$(Configuration)\exe\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src\core;..\..\examples\platforms
+
+
+ Console
+ true
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-uart.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-windows.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_CONSOLE;OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src\core;..\..\examples\platforms
+
+
+ Console
+ true
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-uart.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-windows.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src\core;..\..\examples\platforms
+
+
+ Console
+ true
+ true
+ true
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-uart.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-windows.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_CONSOLE;OPENTHREAD_CONFIG_FILE="openthread-windows-config.h";%(PreprocessorDefinitions)
+ true
+ ..\..\include;..\..\src\core;..\..\examples\platforms
+
+
+ Console
+ true
+ true
+ true
+ ..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-ncp-uart.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\mbedtls.lib;..\..\build\bin\$(Platform)\$(Configuration)\lib\libopenthread-windows.lib;ws2_32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+
+ {dd5018be-54c6-4fd4-9f8d-08d52fc0cd40}
+
+
+ {d94867d2-6dae-47e2-962a-5e8e658134d1}
+
+
+ {4111c8bb-d354-4348-ad3c-eb6832e84831}
+
+
+ {30723c38-ba3b-44c9-8d64-c5861a26934f}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/etc/visual-studio/ot-ncp-uart.vcxproj.filters b/etc/visual-studio/ot-ncp-uart.vcxproj.filters
new file mode 100644
index 000000000..3cfd287ac
--- /dev/null
+++ b/etc/visual-studio/ot-ncp-uart.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/src/ncp/ncp_uart.cpp b/src/ncp/ncp_uart.cpp
index f2ed1db91..f81042eb6 100644
--- a/src/ncp/ncp_uart.cpp
+++ b/src/ncp/ncp_uart.cpp
@@ -30,6 +30,12 @@
* This file contains definitions for a UART based NCP interface to the OpenThread stack.
*/
+#ifdef OPENTHREAD_CONFIG_FILE
+#include OPENTHREAD_CONFIG_FILE
+#else
+#include
+#endif
+
#include
#include
#include
diff --git a/tests/unit/test_windows.cpp b/tests/unit/test_windows.cpp
index d374b411f..94aa0d610 100644
--- a/tests/unit/test_windows.cpp
+++ b/tests/unit/test_windows.cpp
@@ -64,6 +64,12 @@ namespace Thread
// test_message.cpp
void TestMessage();
+// test_ncp_buffer.cpp
+namespace Thread
+{
+ void TestNcpFrameBuffer(void);
+}
+
// test_timer.cpp
int TestOneTimer();
int TestTenTimers();
@@ -117,6 +123,9 @@ namespace Thread
TEST_METHOD(TestOneTimer) { ::TestOneTimer(); }
TEST_METHOD(TestTenTimers) { ::TestTenTimers(); }
+ // test_ncp_buffer.cpp
+ TEST_METHOD(TestNcpFrameBuffer) { Thread::TestNcpFrameBuffer(); }
+
// test_toolchain.cpp
TEST_METHOD(test_packed1) { ::test_packed1(); }
TEST_METHOD(test_packed2) { ::test_packed2(); }