Skip to content

Commit 627e0e8

Browse files
Wi-SUN api documentation changes
1 parent e328458 commit 627e0e8

File tree

2 files changed

+113
-28
lines changed

2 files changed

+113
-28
lines changed

docs/api/networkinterfaces/MeshInterface.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@
22

33
<span class="images">![](https://os.mbed.com/docs/development/mbed-os-api-doxy/class_mesh_interface.png)<span>MeshInterface class hierarchy</span></span>
44

5-
The Arm Mbed Mesh API allows the application to use the IPv6 mesh network topologies through the [Nanostack](../reference/mesh-tech.html#nanostack) networking stack.
5+
The Arm Mbed Mesh API allows the application to use the IPv6 mesh network topologies through the Nanostack networking stack.
66

7-
Mbed OS provides two types of IPv6 based mesh networks:
7+
Mbed OS provides 3 types of IPv6 based mesh networks:
88

99
- 6LoWPAN_ND, loosely following the Zigbee-IP specification.
10+
- Wi-SUN, following the specification from Wi-SUN alliance.
1011
- Thread, following the specification from Thread Group.
1112

12-
Nanostack is the networking stack that provides both of these protocols. For more information on the stack internals, please refer to the [6LoWPAN mesh technology](../reference/mesh-tech.html) section. Application developers use Nanostack through the Mbed Mesh API.
13+
Nanostack is the networking stack that provides these protocols. For more information on the stack internals, please refer to the [Thread](../reference/thread.html), [Wi-SUN](../reference/wi-sun.html) and [6LowPAN](../reference/mesh-tech.html) sections. Application developers use Nanostack through the Mbed Mesh API.
1314

14-
The application can use the `LoWPANNDInterface` or `ThreadInterface` object for connecting to the mesh network. When successfully connected, the application can use the Mbed [C++ socket APIs](network-socket.html) to create a socket to start communication with a remote peer.
15+
The application can use the `LoWPANNDInterface`, `WisunInterface` or `ThreadInterface` object for connecting to the mesh network. When successfully connected, the application can use the Mbed [C++ socket APIs](network-socket.html) to create a socket to start communication with a remote peer.
1516

1617
You can configure the mesh interface by providing values in `mbed_app.json`, as the [mesh configuration](../reference/configuration-mesh.html) section documents.
1718

@@ -23,7 +24,7 @@ You can configure the mesh interface by providing values in `mbed_app.json`, as
2324

2425
### Supported mesh networking modes
2526

26-
Currently, 6LoWPAN-ND (neighbor discovery) and Thread bootstrap modes are supported.
27+
Currently, 6LoWPAN-ND (neighbor discovery), Wi-SUN FAN and Thread bootstrap modes are supported.
2728

2829
### Network connection states
2930

@@ -41,10 +42,12 @@ See the example application [mbed-os-example-mesh-minimal](https://github.com/AR
4142

4243
### Mesh example
4344

44-
To learn how to use mesh, please see our [light control tutorial](../tutorials/light-control.html), which demonstrates a light control application, where devices can control the LED status of all devices in the network. You can build the application for the unsecure 6LoWPAN-ND or Thread network.
45+
To learn how to use mesh, please see our [light control tutorial](../tutorials/light-control.html), which demonstrates a light control application, where devices can control the LED status of all devices in the network. You can build the application for the unsecure 6LoWPAN-ND, Wi-SUN or Thread network.
4546

4647
### Related content
4748

48-
- [Nanostack](../reference/mesh-tech.html#nanostack) technology reference material.
49-
- [6LoWPAN and Thread Mesh configuration documentation](../reference/configuration-mesh.html).
49+
- [Thread](../reference/thread.html) technology reference material.
50+
- [Wi-SUN](../reference/wi-sun.html) technology reference material.
51+
- [6LowPAN](../reference/mesh-tech.html) technology reference material.
52+
- [6LoWPAN, Wi-SUN and Thread Mesh configuration documentation](../reference/configuration-mesh.html).
5053
- [Light control tutorial](../tutorials/light-control.html).

docs/reference/configuration/mesh.md

Lines changed: 102 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1-
<h2 id="configuration-mesh">6LoWPAN and Thread Mesh</h2>
1+
<h2 id="configuration-mesh">6LoWPAN, Wi-SUN and Thread Mesh</h2>
22

3-
This page describes build-time configurable parameters for 6LoWPAN- and Thread-based mesh networks. Mbed OS supports two main mesh protocols: 6LoWPAN-ND and Thread. Depending on the selected protocol, you can configure different set of values.
3+
This page describes build-time configurable parameters for 6LoWPAN-, Wi-SUN- and Thread-based mesh networks. Mbed OS supports 3 main mesh protocols: 6LoWPAN-ND, Wi-SUN and Thread. Depending on the selected protocol, you can configure different set of values.
44

55
There is one mesh-capable stack in Mbed OS called Nanostack.
66

7-
This guide is divided in sections, and generic Nanostack configurations are first, followed by those for Thread and then 6LoWPAN-ND.
7+
This guide is divided in sections, and generic Nanostack configurations are first, followed by those for Thread, 6LoWPAN-ND and then Wi-SUN.
88

99
For understanding the technologies and APIs, please refer to following sections before this one:
1010

1111
- [Network connectivity in Mbed OS](../reference/networking.html) technology page.
12-
- [6LoWPAN Mesh technology](../reference/mesh-tech.html) page.
13-
- [6LoWPAN Mesh class reference](../apis/mesh-api.html) user API.
12+
- [Thread](../reference/thread.html) technology reference page.
13+
- [Wi-SUN](../reference/wi-sun.html) technology reference page.
14+
- [6LowPAN](../reference/mesh-tech.html) technology reference page.
15+
- [Mesh class reference](../apis/mesh-api.html) user API.
1416
- [Socket API](../apis/network-socket.html).
1517

1618
#### Providing the configuration
@@ -30,7 +32,7 @@ An example of the configuration file:
3032
}
3133
```
3234

33-
<span class="notes">**Note:** The configuration files for 6LoWPAN and Thread are provided for development or testing purposes. When setting up the production configuration, the user needs to have a good understanding of the whole system.</span>
35+
<span class="notes">**Note:** The configuration files for 6LoWPAN, Wi-SUN and Thread are provided for development or testing purposes. When setting up the production configuration, the user needs to have a good understanding of the whole system.</span>
3436

3537
#### Build time configuration of the stack
3638

@@ -53,11 +55,12 @@ Option name | Features supported | Estimated binary size of Nanostack
5355

5456
If you want to optimize the flash usage, you need to configure Nanostack. The configuration to choose depends mostly on the preferred use case.
5557

56-
See the [6LoWPAN technology overview](mesh-tech.html) for the definition of star and mesh networks. These same principles apply also to the Thread protocol.
58+
See the [mesh technology overview](mesh-tech.html) for the definition of star and mesh networks. These same principles apply also to the Wi-SUN and Thread protocols.
5759

5860
Select the protocol the network is based on:
5961

6062
- 6LoWPAN-ND.
63+
- Wi-SUN.
6164
- Thread.
6265

6366
Select the device role:
@@ -68,6 +71,7 @@ Select the device role:
6871
In the application, choose from two supported interface classes:
6972

7073
- For 6LoWPAN-ND based network, use `LoWPANNDInterface`.
74+
- For Wi-SUN FAN based network, use `WisunInterface`.
7175
- For Thread based network, use `ThreadInterface`.
7276

7377
Then you may optionally choose to select the nonrouting mode for those networks. The following tables show the values to use in the `mbed_app.json` file for your devices in different networks.
@@ -100,6 +104,15 @@ Name: nanostack-eventloop.use_platform_tick_timer
100104
Description: Use platform provided low resolution tick timer for eventloop
101105
Defined by: library:nanostack-eventloop
102106
No value set
107+
```
108+
```
109+
Name: nanostack.configuration
110+
Description: Build time configuration. Refer to Handbook for valid values. Default: full stack
111+
Defined by: library:nanostack
112+
Macro name: MBED_CONF_NANOSTACK_CONFIGURATION
113+
Value: nanostack_full (set by library:nanostack)
114+
```
115+
```
103116
Name: nanostack-hal.critical-section-usable-from-interrupt
104117
Description: Make critical section API usable from interrupt context. Else a mutex is used as locking primitive. Consult arm_hal_interrupt.c for possible side effects on interrupt latency.
105118
Defined by: library:nanostack-hal
@@ -108,6 +121,10 @@ Name: nanostack-hal.event-loop-dispatch-from-application
108121
Description: Application is responsible of message dispatch loop. Else launch a separate thread for event-loop.
109122
Defined by: library:nanostack-hal
110123
No value set
124+
Name: nanostack-hal.event-loop-use-mbed-events
125+
Description: Use Mbed OS global event queue for Nanostack event loop, rather than our own thread.
126+
Defined by: library:nanostack-hal
127+
No value set
111128
Name: nanostack-hal.event_loop_thread_stack_size
112129
Description: Define event-loop thread stack size. [bytes]
113130
Defined by: library:nanostack-hal
@@ -117,13 +134,9 @@ Name: nanostack-hal.nvm_cfstore
117134
Description: Use cfstore as a NVM storage. Else RAM simulation will be used
118135
Defined by: library:nanostack-hal
119136
No value set
120-
Name: nanostack.configuration
121-
Description: Build time configuration. Refer to Handbook for valid values. Default: full stack
122-
Defined by: library:nanostack
123-
Macro name: MBED_CONF_NANOSTACK_CONFIGURATION
124-
Value: nanostack_full (set by library:nanostack)
125137
```
126138

139+
127140
#### Generic Mbed mesh API configuration values
128141

129142
Generic configuration allows you to fine tune Nanostack's heap usage.
@@ -132,16 +145,24 @@ Generic configuration allows you to fine tune Nanostack's heap usage.
132145
Configuration parameters
133146
------------------------
134147
135-
Name: mbed-mesh-api.use-malloc-for-heap
136-
Description: Use `malloc()` for reserving the Nanostack's internal heap.
137-
Defined by: library:mbed-mesh-api
138-
No value set
139148
Name: mbed-mesh-api.heap-size
140149
Description: Nanostack's heap size [bytes: 0-65534]
141150
Defined by: library:mbed-mesh-api
142151
Macro name: MBED_CONF_MBED_MESH_API_HEAP_SIZE
143152
Value: 32500 (set by library:mbed-mesh-api)
144-
153+
Name: mbed-mesh-api.heap-stat-info
154+
Description: Pointer to heap statistics `mem_stat_t` storage.
155+
Defined by: library:mbed-mesh-api
156+
Macro name: MBED_CONF_MBED_MESH_API_HEAP_STAT_INFO
157+
Value: NULL (set by library:mbed-mesh-api)
158+
Name: mbed-mesh-api.heap-stat-info-definition
159+
Description: Definition of heap statistics `mem_stat_t` storage.
160+
Defined by: library:mbed-mesh-api
161+
No value set
162+
Name: mbed-mesh-api.use-malloc-for-heap
163+
Description: Use `malloc()` for reserving the Nanostack's internal heap.
164+
Defined by: library:mbed-mesh-api
165+
No value set
145166
```
146167

147168
#### Thread related configuration parameters
@@ -234,8 +255,7 @@ Configuration parameters
234255
Name: mbed-mesh-api.6lowpan-nd-channel
235256
Description: RF channel to use when `channel_mask` is not defined. [0-26].
236257
Defined by: library:mbed-mesh-api
237-
Macro name: MBED_CONF_MBED_MESH_API_6LOWPAN_ND_CHANNEL
238-
Value: 14 (set by application[*])
258+
No value set
239259
Name: mbed-mesh-api.6lowpan-nd-channel-mask
240260
Description: Channel mask, bit-mask of channels to use. [0-0x07fff800]
241261
Defined by: library:mbed-mesh-api
@@ -254,7 +274,7 @@ Name: mbed-mesh-api.6lowpan-nd-panid-filter
254274
Description: Beacon PAN ID filter, 0xffff means no filtering. [0-0xffff]
255275
Defined by: library:mbed-mesh-api
256276
Macro name: MBED_CONF_MBED_MESH_API_6LOWPAN_ND_PANID_FILTER
257-
Value: 0xAB42 (set by application[*])
277+
Value: 0xffff (set by library:mbed-mesh-api)
258278
Name: mbed-mesh-api.6lowpan-nd-psk-key
259279
Description: Pre-shared network key. Byte array of 16 bytes. In form of: {0x00, 0x11, ... 0xff}
260280
Defined by: library:mbed-mesh-api
@@ -276,3 +296,65 @@ Name: mbed-mesh-api.6lowpan-nd-security-mode
276296
Macro name: MBED_CONF_MBED_MESH_API_6LOWPAN_ND_SECURITY_MODE
277297
Value: NONE (set by library:mbed-mesh-api)
278298
```
299+
300+
#### Wi-SUN related configuration parameters
301+
302+
The following parameters are only valid for the Wi-SUN FAN mesh network. These are in use when the application uses the `WisunInterface` class.
303+
304+
```
305+
Configuration parameters
306+
------------------------
307+
308+
Name: mbed-mesh-api.wisun-bc-channel-function
309+
Description: Broadcast channel function.
310+
Defined by: library:mbed-mesh-api
311+
Macro name: MBED_CONF_MBED_MESH_API_WISUN_BC_CHANNEL_FUNCTION
312+
Value: 255 (set by library:mbed-mesh-api)
313+
Name: mbed-mesh-api.wisun-bc-dwell-interval
314+
Description: Broadcast dwell interval. Range: 15-255 milliseconds
315+
Defined by: library:mbed-mesh-api
316+
No value set
317+
Name: mbed-mesh-api.wisun-bc-fixed-channel
318+
Description: Default fixed channel
319+
Defined by: library:mbed-mesh-api
320+
Macro name: MBED_CONF_MBED_MESH_API_WISUN_BC_FIXED_CHANNEL
321+
Value: 0xffff (set by library:mbed-mesh-api)
322+
Name: mbed-mesh-api.wisun-bc-interval
323+
Description: Broadcast interval. Duration between broadcast dwell intervals. Range: 0-16777216 milliseconds
324+
Defined by: library:mbed-mesh-api
325+
No value set
326+
Name: mbed-mesh-api.wisun-network-name
327+
Description: default network name for wisun network
328+
Defined by: library:mbed-mesh-api
329+
Macro name: MBED_CONF_MBED_MESH_API_WISUN_NETWORK_NAME
330+
Value: "NETWORK_NAME" (set by library:mbed-mesh-api)
331+
Name: mbed-mesh-api.wisun-operating-class
332+
Description: Operating class.
333+
Defined by: library:mbed-mesh-api
334+
Macro name: MBED_CONF_MBED_MESH_API_WISUN_OPERATING_CLASS
335+
Value: 255 (set by library:mbed-mesh-api)
336+
Name: mbed-mesh-api.wisun-operating-mode
337+
Description: Operating mode.
338+
Defined by: library:mbed-mesh-api
339+
Macro name: MBED_CONF_MBED_MESH_API_WISUN_OPERATING_MODE
340+
Value: 255 (set by library:mbed-mesh-api)
341+
Name: mbed-mesh-api.wisun-regulatory-domain
342+
Description: Regulator domain.
343+
Defined by: library:mbed-mesh-api
344+
Macro name: MBED_CONF_MBED_MESH_API_WISUN_REGULATORY_DOMAIN
345+
Value: 3 (set by library:mbed-mesh-api)
346+
Name: mbed-mesh-api.wisun-uc-channel-function
347+
Description: Unicast channel function.
348+
Defined by: library:mbed-mesh-api
349+
Macro name: MBED_CONF_MBED_MESH_API_WISUN_UC_CHANNEL_FUNCTION
350+
Value: 255 (set by library:mbed-mesh-api)
351+
Name: mbed-mesh-api.wisun-uc-dwell-interval
352+
Description: Unicast dwell interval. Range: 15-255 milliseconds
353+
Defined by: library:mbed-mesh-api
354+
No value set
355+
Name: mbed-mesh-api.wisun-uc-fixed-channel
356+
Description: Default fixed channel
357+
Defined by: library:mbed-mesh-api
358+
Macro name: MBED_CONF_MBED_MESH_API_WISUN_UC_FIXED_CHANNEL
359+
Value: 0xffff (set by library:mbed-mesh-api)
360+
```

0 commit comments

Comments
 (0)