You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-6Lines changed: 28 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,39 @@
1
-
ARM IPV6/6LoWPAN stack.
1
+
ARM Mesh networking stack
2
2
=======================
3
3
4
-
This repository contains the ARM IPv6/6LoWPAN/Thread Stack for mbed OS.
4
+
This repository contains the ARM mesh networking stack that provides support for the following mesh protocols:
5
+
6
+
* 6LoWPAN with Neighbor Discovery (ND) and Mesh Link Establishment (MLE)
7
+
* Thread
8
+
* Wi-SUN
9
+
10
+
All networking stacks are using IEEE 802.15.4 based radios.
11
+
12
+
The full documentation is hosted in [Mbed OS documentation](https://os.mbed.com/docs/mbed-os/latest/reference/mesh-tech.html).
13
+
14
+
On mbed OS, mesh networking stacks can be used through [Mbed Mesh API](https://os.mbed.com/docs/mbed-os/latest/apis/mesh-api.html) and [Network Socket API](https://os.mbed.com/docs/mbed-os/v5.11/apis/network-socket.html).
15
+
16
+
To see, how the mesh networking stack works, check the example application [mbed-os-example-mesh-minimal](https://github.com/ARMmbed/mbed-os-example-mesh-minimal).
17
+
18
+
19
+
##6LoWPAN with ND and MLE
20
+
21
+
This networking stack is using standard 6LoWPAN and uses:
22
+
23
+
* Neighbor Discovery Protocol ([RFC4861](https://tools.ietf.org/html/rfc4861)) to locate other devices in the mesh network.
24
+
* Mesh-Link-Establishment ([draft-kelsey-intarea-mesh-link-establishment-06](https://tools.ietf.org/html/draft-kelsey-intarea-mesh-link-establishment-06)) is used for establishing and configuring secure radio links.
25
+
26
+
##Thread
27
+
Thread is standardized by [Thread group](https://www.threadgroup.org/).
5
28
6
29

7
30
8
31
mbed OS is now a Thread Certified Component. Using IPv6 with 6LoWPAN as the foundation, Thread technology provides a low-power, self-healing mesh network designed for the home.
9
32
10
-
The documentation is hosted in [here](https://os.mbed.com/docs/v5.6/tutorials/6lowpan-mesh.html).
11
-
12
-
On mbed OS, usage is through [mbed Mesh API](https://os.mbed.com/docs/v5.6/reference/mesh.html) and [Socket API](https://os.mbed.com/docs/v5.6/reference/network-socket.html).
33
+
##Wi-SUN
34
+
Wi-SUN (Smart Utility Networks) specification is standardized by [Wi-SUN Alliance](https://www.wi-sun.org/).
13
35
14
-
To see, how the 6LoWPAN Stack works, check the example application [mbed-os-example-mesh-minimal](https://github.com/ARMmbed/mbed-os-example-mesh-minimal).
36
+
Mbed OS release 5.12 contains the initial Mbed Wi-SUN FAN implementation. Functionality of the Mbed Wi-SUN network stack will be updated when the Wi-SUN protocol is specified further.
macAcceptByPassUnknowDevice=0xfc, /*< Accept data trough MAC if packet is data can be authenticated by group key nad MIC. Security enforsment point must be handled carefully these packets */
269
270
macLoadBalancingBeaconTx=0xfd, /*< Trig Beacon from load balance module periodic */
Copy file name to clipboardExpand all lines: nanostack/platform/arm_hal_phy.h
+15-2Lines changed: 15 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,11 @@
29
29
extern"C" {
30
30
#endif
31
31
32
+
/** PHY_LINK_CCA_PREPARE status definitions */
33
+
#definePHY_TX_NOT_ALLOWED -1 /**< TX not allowed. Do not continue to CCA process. */
34
+
#definePHY_TX_ALLOWED 0 /**< TX allowed. Continue to CCA process. */
35
+
#definePHY_RESTART_CSMA 1 /**< Restart CSMA-CA timer. CSMA-CA period must be calculated using given backoff time (PHY_EXTENSION_SET_CSMA_PARAMETERS) */
36
+
32
37
/** Interface states */
33
38
typedefenum {
34
39
PHY_INTERFACE_RESET, /**< Reset PHY driver and set to idle. */
@@ -45,9 +50,16 @@ typedef enum {
45
50
PHY_LINK_TX_SUCCESS, /**< MAC TX complete. MAC will a make decision to enter wait ACK or TX done state. */
46
51
PHY_LINK_TX_FAIL, /**< Link TX process fail. */
47
52
PHY_LINK_CCA_FAIL, /**< RF link CCA process fail. */
48
-
PHY_LINK_CCA_PREPARE, /**< RX Tx timeout prepare operation like channel switch to Tx channel from Receive one If operation fail must return not zero*/
53
+
PHY_LINK_CCA_OK, /**< RF link CCA process ok. */
54
+
PHY_LINK_CCA_PREPARE, /**< Prepare for CCA after CSMA-CA: changes to CCA channel and gives permission to TX. See PHY_LINK_CCA_PREPARE status definitions for return values */
49
55
} phy_link_tx_status_e;
50
56
57
+
/** MAC filtering modes. Set corresponding bit to 1 (1 << MAC_FRAME_VERSION_X) in PHY_EXTENSION_FILTERING_SUPPORT request when PHY can handle the filtering of this frame type.
58
+
* NOTE: Currently MAC supports filtering and Acking only 802.15.4-2015 frames. Any other frame version must be filtered and Acked by PHY with either HW or SW solution. */
59
+
typedefenum {
60
+
MAC_FRAME_VERSION_2=2/**< 802.15.4-2015 */
61
+
} phy_link_filters_e;
62
+
51
63
/** Extension types */
52
64
typedefenum {
53
65
PHY_EXTENSION_CTRL_PENDING_BIT, /**< Control MAC pending bit for indirect data. */
@@ -64,7 +76,8 @@ typedef enum {
64
76
PHY_EXTENSION_GET_TIMESTAMP, /**< Read 32-bit constant monotonic time stamp in us */
65
77
PHY_EXTENSION_SET_CSMA_PARAMETERS, /**< CSMA parameter's are given by phy_csma_params_t structure remember type cast uint8_t pointer to structure type*/
66
78
PHY_EXTENSION_GET_SYMBOLS_PER_SECOND, /**< Read Symbols per seconds which will help to convert symbol time to real time */
67
-
PHY_EXTENSION_SET_RF_CONFIGURATION/**< Set RF configuration using phy_rf_channel_parameters_s structure */
79
+
PHY_EXTENSION_SET_RF_CONFIGURATION, /**< Set RF configuration using phy_rf_channel_parameters_s structure */
80
+
PHY_EXTENSION_FILTERING_SUPPORT/**< Return filtering modes that can be supported by the PHY driver. See phy_link_filters_e */
0 commit comments