Interface definition for the LWMAC protocol. More...

Detailed Description

Interface definition for the LWMAC protocol.

Author
Daniel Krebs githu.nosp@m.b@da.nosp@m.niel-.nosp@m.kreb.nosp@m.s.net
Shuguo Zhuo shugu.nosp@m.o.zh.nosp@m.uo@in.nosp@m.ria..nosp@m.fr

Definition in file lwmac.h.

#include "kernel_types.h"
#include "net/gnrc/netif.h"
+ Include dependency graph for lwmac.h:

Go to the source code of this file.

Macros

#define GNRC_LWMAC_WAKEUP_INTERVAL_US   (200LU *US_PER_MS)
 Time between consecutive wake-ups. More...
 
#define GNRC_LWMAC_PREAMBLE_DURATION_US   ((13LU *GNRC_LWMAC_WAKEUP_INTERVAL_US) / 10)
 The Maximum WR (preamble packet gnrc_lwmac_frame_wr_t) duration time. More...
 
#define GNRC_LWMAC_TIME_BETWEEN_WR_US   (5U *US_PER_MS)
 Timeout to send the next WR in case no WA has been received during that time. More...
 
#define GNRC_LWMAC_WAKEUP_DURATION_US   (GNRC_LWMAC_TIME_BETWEEN_WR_US * 2)
 How long a node in LWMAC should keep awake and listen on the channel in one cycle. More...
 
#define GNRC_LWMAC_BROADCAST_DURATION_US   ((GNRC_LWMAC_WAKEUP_INTERVAL_US * 11) / 10)
 How long broadcast packets gnrc_lwmac_frame_broadcast_t will be sent to make sure every participant has received at least one copy. More...
 
#define GNRC_LWMAC_TIME_BETWEEN_BROADCAST_US   (GNRC_LWMAC_TIME_BETWEEN_WR_US)
 Time to idle between two successive broadcast packets, referenced to the start of the packet. More...
 
#define GNRC_LWMAC_WR_PREPARATION_US   ((3U *US_PER_MS))
 WR preparation overhead before it can be sent (higher with debugging output). More...
 
#define GNRC_LWMAC_DATA_DELAY_US   (10U *US_PER_MS)
 How long to wait after a WA for data to come in. More...
 
#define GNRC_LWMAC_DATA_CSMA_RETRIES   (3U)
 CSMA retries for DATA packet after WR->WA was successful. More...
 
#define GNRC_LWMAC_MAX_DATA_TX_RETRIES   (3U)
 Maximum TX transmission retries for DATA packet in case of no response from the receiver. More...
 
#define GNRC_LWMAC_MAX_TX_BURST_PKT_NUM   (GNRC_LWMAC_WAKEUP_INTERVAL_US / GNRC_LWMAC_WAKEUP_DURATION_US)
 MAX burst transmission packet number in one shot. More...
 
#define GNRC_LWMAC_MAX_RX_EXTENSION_NUM   (3U)
 MAX bad Listen period extensions a node can tolerate. More...
 
#define GNRC_LWMAC_BROADCAST_CSMA_RETRIES   (3U)
 CSMA retries for broadcast packet. More...
 
#define GNRC_LWMAC_IPC_MSG_QUEUE_SIZE   (8U)
 Default message queue size to use for the LWMAC thread. More...
 

Functions

gnrc_netif_tgnrc_netif_lwmac_create (char *stack, int stacksize, char priority, char *name, netdev_t *dev)
 Creates an IEEE 802.15.4 LWMAC network interface. More...