mirror of
https://github.com/espressif/openthread.git
synced 2026-09-01 23:09:53 +00:00
[ncp] adding SpinelDecoder class and updating NCP implementation (#2258)
This commit adds a new class `SpinelDecoder` which provides a set of methods/APIs to help in decoding/reading content using Spinel formating (it is practically a C++ wrapper over Spinel C APIs). A unit test `test_spinel_decoder` is also added in this commit. This commit also updates the `NcpBase` implementation to adopt the new `SpinelDecoder` class mainly in set, insert, and remove handlers for different Spinel properties. The new class provides similar advantage as `SpinelEncoder` by simplifying the handler implementations and adding type-check safety when parsing/reading the spinel frame.
This commit is contained in:
committed by
Jonathan Hui
parent
c7b02326b5
commit
92ba27a1fa
@@ -66,6 +66,7 @@
|
||||
<ClCompile Include="..\..\src\ncp\ncp_buffer.cpp" />
|
||||
<ClCompile Include="..\..\src\ncp\ncp_spi.cpp" />
|
||||
<ClCompile Include="..\..\src\ncp\spinel.c" />
|
||||
<ClCompile Include="..\..\src\ncp\spinel_decoder.cpp" />
|
||||
<ClCompile Include="..\..\src\ncp\spinel_encoder.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -74,6 +75,7 @@
|
||||
<ClInclude Include="..\..\src\ncp\ncp_buffer.hpp" />
|
||||
<ClInclude Include="..\..\src\ncp\ncp_spi.hpp" />
|
||||
<ClInclude Include="..\..\src\ncp\spinel.h" />
|
||||
<ClInclude Include="..\..\src\ncp\spinel_decoder.hpp" />
|
||||
<ClInclude Include="..\..\src\ncp\spinel_encoder.hpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
<ClCompile Include="..\..\src\ncp\spinel.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ncp\spinel_decoder.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ncp\spinel_encoder.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -59,6 +62,9 @@
|
||||
<ClInclude Include="..\..\src\ncp\spinel.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ncp\spinel_decoder.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ncp\spinel_encoder.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
<ClCompile Include="..\..\src\ncp\ncp_buffer.cpp" />
|
||||
<ClCompile Include="..\..\src\ncp\ncp_uart.cpp" />
|
||||
<ClCompile Include="..\..\src\ncp\spinel.c" />
|
||||
<ClCompile Include="..\..\src\ncp\spinel_decoder.cpp" />
|
||||
<ClCompile Include="..\..\src\ncp\spinel_encoder.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -76,6 +77,7 @@
|
||||
<ClInclude Include="..\..\src\ncp\ncp_buffer.hpp" />
|
||||
<ClInclude Include="..\..\src\ncp\ncp_uart.hpp" />
|
||||
<ClInclude Include="..\..\src\ncp\spinel.h" />
|
||||
<ClInclude Include="..\..\src\ncp\spinel_decoder.hpp" />
|
||||
<ClInclude Include="..\..\src\ncp\spinel_encoder.hpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
|
||||
@@ -42,6 +42,9 @@
|
||||
<ClCompile Include="..\..\src\ncp\spinel.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ncp\spinel_decoder.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\ncp\spinel_encoder.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
@@ -65,6 +68,9 @@
|
||||
<ClInclude Include="..\..\src\ncp\spinel.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ncp\spinel_decoder.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\ncp\spinel_encoder.hpp">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
|
||||
Reference in New Issue
Block a user