Skip to content

Commit d79d114

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

File tree

2 files changed

+107
-26
lines changed

2 files changed

+107
-26
lines changed

docs/api/networkinterfaces/MeshInterface.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@
44

55
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.
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 [mesh technology](../reference/mesh-tech.html) section. 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,10 @@ 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

4849
- [Nanostack](../reference/mesh-tech.html#nanostack) technology reference material.
49-
- [6LoWPAN and Thread Mesh configuration documentation](../reference/configuration-mesh.html).
50+
- [6LoWPAN, Wi-SUN and Thread Mesh configuration documentation](../reference/configuration-mesh.html).
5051
- [Light control tutorial](../tutorials/light-control.html).

docs/reference/configuration/mesh.md

Lines changed: 100 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
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+
- [Mesh technology](../reference/mesh-tech.html) page.
13+
- [Mesh class reference](../apis/mesh-api.html) user API.
1414
- [Socket API](../apis/network-socket.html).
1515

1616
#### Providing the configuration
@@ -30,7 +30,7 @@ An example of the configuration file:
3030
}
3131
```
3232

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>
33+
<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>
3434

3535
#### Build time configuration of the stack
3636

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

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

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.
56+
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.
5757

5858
Select the protocol the network is based on:
5959

6060
- 6LoWPAN-ND.
61+
- Wi-SUN.
6162
- Thread.
6263

6364
Select the device role:
@@ -68,6 +69,7 @@ Select the device role:
6869
In the application, choose from two supported interface classes:
6970

7071
- For 6LoWPAN-ND based network, use `LoWPANNDInterface`.
72+
- For Wi-SUN FAN based network, use `WisunInterface`.
7173
- For Thread based network, use `ThreadInterface`.
7274

7375
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 +102,15 @@ Name: nanostack-eventloop.use_platform_tick_timer
100102
Description: Use platform provided low resolution tick timer for eventloop
101103
Defined by: library:nanostack-eventloop
102104
No value set
105+
```
106+
```
107+
Name: nanostack.configuration
108+
Description: Build time configuration. Refer to Handbook for valid values. Default: full stack
109+
Defined by: library:nanostack
110+
Macro name: MBED_CONF_NANOSTACK_CONFIGURATION
111+
Value: nanostack_full (set by library:nanostack)
112+
```
113+
```
103114
Name: nanostack-hal.critical-section-usable-from-interrupt
104115
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.
105116
Defined by: library:nanostack-hal
@@ -108,6 +119,10 @@ Name: nanostack-hal.event-loop-dispatch-from-application
108119
Description: Application is responsible of message dispatch loop. Else launch a separate thread for event-loop.
109120
Defined by: library:nanostack-hal
110121
No value set
122+
Name: nanostack-hal.event-loop-use-mbed-events
123+
Description: Use Mbed OS global event queue for Nanostack event loop, rather than our own thread.
124+
Defined by: library:nanostack-hal
125+
No value set
111126
Name: nanostack-hal.event_loop_thread_stack_size
112127
Description: Define event-loop thread stack size. [bytes]
113128
Defined by: library:nanostack-hal
@@ -117,13 +132,9 @@ Name: nanostack-hal.nvm_cfstore
117132
Description: Use cfstore as a NVM storage. Else RAM simulation will be used
118133
Defined by: library:nanostack-hal
119134
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)
125135
```
126136

137+
127138
#### Generic Mbed mesh API configuration values
128139

129140
Generic configuration allows you to fine tune Nanostack's heap usage.
@@ -132,16 +143,24 @@ Generic configuration allows you to fine tune Nanostack's heap usage.
132143
Configuration parameters
133144
------------------------
134145
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
139146
Name: mbed-mesh-api.heap-size
140147
Description: Nanostack's heap size [bytes: 0-65534]
141148
Defined by: library:mbed-mesh-api
142149
Macro name: MBED_CONF_MBED_MESH_API_HEAP_SIZE
143150
Value: 32500 (set by library:mbed-mesh-api)
144-
151+
Name: mbed-mesh-api.heap-stat-info
152+
Description: Pointer to heap statistics `mem_stat_t` storage.
153+
Defined by: library:mbed-mesh-api
154+
Macro name: MBED_CONF_MBED_MESH_API_HEAP_STAT_INFO
155+
Value: NULL (set by library:mbed-mesh-api)
156+
Name: mbed-mesh-api.heap-stat-info-definition
157+
Description: Definition of heap statistics `mem_stat_t` storage.
158+
Defined by: library:mbed-mesh-api
159+
No value set
160+
Name: mbed-mesh-api.use-malloc-for-heap
161+
Description: Use `malloc()` for reserving the Nanostack's internal heap.
162+
Defined by: library:mbed-mesh-api
163+
No value set
145164
```
146165

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

0 commit comments

Comments
 (0)