-
Notifications
You must be signed in to change notification settings - Fork 8
/
MDK-Packs.IoT_Socket.pdsc
190 lines (188 loc) · 9.35 KB
/
MDK-Packs.IoT_Socket.pdsc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<?xml version="1.0" encoding="UTF-8"?>
<package schemaVersion="1.7.37" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.37/schema/PACK.xsd">
<vendor>MDK-Packs</vendor>
<name>IoT_Socket</name>
<description overview="documentation/OVERVIEW.md">Simple IP Socket (BSD like)</description>
<!-- web download link -->
<url>https://github.com/MDK-Packs/Pack/raw/master/IoT_Socket/</url>
<license>LICENSE</license>
<licenseSets>
<licenseSet id="all" default="true" gating="true">
<license name="LICENSE.txt" title="Apache 2.0 open-source license" spdx="Apache-2.0"/>
</licenseSet>
</licenseSets>
<repository type="git">https://github.com/MDK-Packs/IoT_Socket.git</repository>
<releases>
<release version="1.4.0">
Added IoT Socket implementation with FreeRTOS-Plus-TCP
Added IoT Socket implementation with VSocket
Updated IoT Socket implementation with MDK Network:
- added support for Network version 8
- fixed problem with socket operation in server mode
- corrected possible memset overflow
Updated IoT Socket implementation with lwIP:
- corrected iotSocketGetOpt/iotSocketSetOpt timeout options
Added Socket layers:
- VSocket
- FreeRTOS+TCP over Ethernet
- MDK Network over Ethernet
- WiFi
</release>
<release version="1.3.0" date="2022-03-02">
Added custom IoT Socket component
Added IoT Socket Multiplexer component
Updated IoT Socket implementation with MDK Network:
- minor update in iotSocketGetSockName/iotSocketGetPeerName:
port may be retrieved also without address
- corrected iotSocketGetOpt/iotSocketSetOpt return value for invalid options
Updated IoT Socket implementation with lwIP:
- corrected iotSocketGetOpt/iotSocketSetOpt return value for invalid options
- corrected socket bind attribute handling in iotSocketBind
</release>
<release version="1.2.1" date="2020-07-13">
Updated IoT Socket implementation with lwIP:
- corrected iotSocketSend return value for non-blocking sockets
</release>
<release version="1.2.0" date="2020-04-22">
Updated IoT Socket API V1.2.0 (support for polling Socket Receive/Send)
Updated IoT Socket implementation with MDK Network
Added IoT Socket implementation with lwIP
Added IoT Socket API documentation
</release>
<release version="1.1.0" date="2019-04-02">
Updated IoT Socket API V1.1.0
Updated IoT Socket implementation with MDK Network
Added IoT Socket implementation with WiFi Driver
</release>
<release version="1.0.0" date="2018-05-28">
Initial release
</release>
</releases>
<apis>
<api Cclass="IoT Utility" Cgroup="Socket" Capiversion="1.2.0" exclusive="1">
<description>Simple IP Socket interface</description>
<files>
<file category="doc" name="documentation/index.html"/>
<file category="header" name="include/iot_socket.h"/>
</files>
</api>
</apis>
<conditions>
<condition id="MDK Network BSD">
<description>MDK Network BSD Socket</description>
<accept Cbundle="MDK-Pro" Cclass="Network" Cgroup="Socket" Csub="BSD" Cversion="7.9.0"/>
<accept Cbundle="MDK-Plus" Cclass="Network" Cgroup="Socket" Csub="BSD" Cversion="7.9.0"/>
<accept Cbundle="MDK-Source" Cclass="Network" Cgroup="Socket" Csub="BSD" Cversion="7.9.0"/>
<accept Cbundle="MDK" Cclass="Network" Cgroup="Socket" Csub="BSD" Cversion="8.0.0"/>
</condition>
<condition id="MDK Network DNS">
<description>MDK Network DNS Client</description>
<accept Cbundle="MDK-Pro" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cversion="7.9.0"/>
<accept Cbundle="MDK-Plus" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cversion="7.9.0"/>
<accept Cbundle="MDK-Source" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cversion="7.9.0"/>
<accept Cbundle="MDK" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cversion="8.0.0"/>
</condition>
<condition id="MDK Network Stack">
<description>MDK Network Stack</description>
<require condition="MDK Network BSD"/>
<require condition="MDK Network DNS"/>
</condition>
<condition id="FreeRTOS-Plus-TCP Stack">
<description>FreeRTOS-Plus-TCP Network Stack</description>
<require Cclass="FreeRTOS" Cgroup="FreeRTOS+ TCP" Csub="Core Library"/>
</condition>
<condition id="lwIP Stack">
<description>lwIP Stack</description>
<require Cbundle="lwIP" Cclass="Network" Cgroup="CORE"/>
</condition>
<condition id="WiFi Driver">
<description>WiFi Driver</description>
<require Cclass="CMSIS Driver" Cgroup="WiFi" Capiversion="1.1.0"/>
</condition>
</conditions>
<components>
<component Cclass="IoT Utility" Cgroup="Socket" Csub="Custom" Capiversion="1.2.0" Cversion="1.0.0" custom="1">
<description>Access to #include iot_socket.h file and code template for custom implementation</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_IoT_Socket /* IoT Socket */
</RTE_Components_h>
<files>
<file category="sourceC" name="template/iot_socket.c" attr="template" select="IoT Socket"/>
</files>
</component>
<component Cclass="IoT Utility" Cgroup="Socket" Csub="VSocket" Capiversion="1.2.0" Cversion="1.0.0">
<description>IoT Socket implementation with VSocket</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_IoT_Socket /* IoT Socket */
#define RTE_IoT_Socket_VSocket /* IoT Socket: VSocket */
</RTE_Components_h>
<files>
<file category="sourceC" name="source/vsocket/iot_socket.c"/>
</files>
</component>
<component Cclass="IoT Utility" Cgroup="Socket" Csub="MDK Network" Capiversion="1.2.0" Cversion="1.3.0" condition="MDK Network Stack">
<description>IoT Socket implementation with MDK Network</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_IoT_Socket /* IoT Socket */
#define RTE_IoT_Socket_MDK_Network /* IoT Socket: MDK Network */
</RTE_Components_h>
<files>
<file category="sourceC" name="source/mdk_network/iot_socket.c"/>
</files>
</component>
<component Cclass="IoT Utility" Cgroup="Socket" Csub="FreeRTOS-Plus-TCP" Capiversion="1.2.0" Cversion="1.0.0" condition="FreeRTOS-Plus-TCP Stack">
<description>IoT Socket implementation with FreeRTOS+ TCP</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_IoT_Socket /* IoT Socket */
#define RTE_IoT_Socket_FreeRTOS_Plus_TCP /* IoT Socket: FreeRTOS-Plus-TCP */
</RTE_Components_h>
<files>
<file category="sourceC" name="source/freertos_plus_tcp/iot_socket.c"/>
</files>
</component>
<component Cclass="IoT Utility" Cgroup="Socket" Csub="lwIP" Capiversion="1.2.0" Cversion="1.0.4" condition="lwIP Stack">
<description>IoT Socket implementation with lwIP</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_IoT_Socket /* IoT Socket */
#define RTE_IoT_Socket_lwIP /* IoT Socket: lwIP */
</RTE_Components_h>
<files>
<file category="sourceC" name="source/lwip/iot_socket.c"/>
</files>
</component>
<component Cclass="IoT Utility" Cgroup="Socket" Csub="WiFi" Capiversion="1.2.0" Cversion="1.0.0" condition="WiFi Driver">
<description>IoT Socket implementation with WiFi Driver</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_IoT_Socket /* IoT Socket */
#define RTE_IoT_Socket_WiFi /* IoT Socket: WiFi */
</RTE_Components_h>
<files>
<file category="sourceC" name="source/wifi/iot_socket.c"/>
</files>
</component>
<component Cclass="IoT Utility" Cgroup="Socket" Csub="Mux" Capiversion="1.2.0" Cversion="1.0.0">
<description>IoT Socket Multiplexer</description>
<RTE_Components_h>
<!-- the following content goes into file 'RTE_Components.h' -->
#define RTE_IoT_Socket /* IoT Socket */
#define RTE_IoT_Socket_Mux /* IoT Socket: Mux */
</RTE_Components_h>
<files>
<file category="header" name="include/iot_socket_mux.h"/>
<file category="sourceC" name="source/mux/iot_socket.c"/>
</files>
</component>
</components>
<csolution>
<clayer type="Socket" path="layer/VSocket" file="Socket.clayer.yml" copy-to="Socket/VSocket"/>
<clayer type="Socket" path="layer/FreeRTOS_Plus_TCP" file="Socket.clayer.yml" copy-to="Socket/FreeRTOS_Plus_TCP"/>
<clayer type="Socket" path="layer/MDK_Network_ETH" file="Socket.clayer.yml" copy-to="Socket/MDK_Network_ETH"/>
<clayer type="Socket" path="layer/WiFi" file="Socket.clayer.yml" copy-to="Socket/WiFi"/>
</csolution>
</package>