Loading...
Searching...
No Matches
gomach.h File Reference

Implementation of GoMacH protocol. More...

Detailed Description

Implementation of GoMacH protocol.

Author
Shuguo Zhuo shugu.nosp@m.o.zh.nosp@m.uo@in.nosp@m.ria..nosp@m.fr

Definition in file gomach.h.

#include "periph/rtt.h"
#include "net/gnrc/netif.h"
+ Include dependency graph for gomach.h:

Go to the source code of this file.

Macros

#define CONFIG_GNRC_GOMACH_CP_DURATION_US   (10U * US_PER_MS)
 The default duration of GoMacH's wake-up period (WP).
 
#define CONFIG_GNRC_GOMACH_SUPERFRAME_DURATION_US   (300LU * US_PER_MS)
 GoMacH's superframe duration, i.e., time between two consecutive wake-ups.
 
#define CONFIG_GNRC_GOMACH_CP_RANDOM_END_US   (1U * US_PER_MS)
 The maximum duration of the random period at the end of GoMacH's wake-up period (WP).
 
#define GNRC_GOMACH_CP_DURATION_MAX_US   (5LU * CONFIG_GNRC_GOMACH_CP_DURATION_US)
 The maximum duration of GoMacH's wake-up period (WP).
 
#define GNRC_GOMACH_WAIT_BEACON_TIME_US   (GNRC_GOMACH_CP_DURATION_MAX_US)
 The maximum time for waiting the receiver's beacon in GoMacH.
 
#define CONFIG_GNRC_GOMACH_CP_MIN_GAP_US   (25U * US_PER_MS)
 The minimum gap between neighbor nodes' wake-up phases in GoMacH.
 
#define CONFIG_GNRC_GOMACH_WAIT_RX_END_US   (6U * US_PER_MS)
 Timeout duration for waiting NETDEV_EVENT_RX_COMPLETE in GoMacH.
 
#define CONFIG_GNRC_GOMACH_NO_TX_ISR_US   (50U * US_PER_MS)
 Timeout duration for confirming TX-No-ISR event in GoMacH.
 
#define CONFIG_GNRC_GOMACH_MAX_PREAM_INTERVAL_US   (6U * US_PER_MS)
 Maximum time interval between two consecutive preamble packets in GoMacH.
 
#define CONFIG_GNRC_GOMACH_PREAMBLE_INTERVAL_US   (2U * US_PER_MS)
 Time interval between two consecutive preamble packets in GoMacH.
 
#define CONFIG_GNRC_GOMACH_BCAST_INTERVAL_US   (1U * US_PER_MS)
 Time interval between two consecutive broadcast packets in GoMacH.
 
#define GNRC_GOMACH_PREAMBLE_DURATION_US    (21LU * CONFIG_GNRC_GOMACH_SUPERFRAME_DURATION_US / 10)
 The Maximum preamble duration time of GoMacH.
 
#define CONFIG_GNRC_GOMACH_VTDMA_SLOT_SIZE_US   (5U * US_PER_MS)
 The transmission slot size in GoMacH.
 
#define CONFIG_GNRC_GOMACH_TX_BUSY_THRESHOLD   (5U)
 Maximum times of CSMA TX attempts under busy-indication in the WP period of the receiver.
 
#define CONFIG_GNRC_GOMACH_CP_EXTEND_THRESHOLD   (5U)
 Maximum WP period extension number in GoMacH.
 
#define CONFIG_GNRC_GOMACH_RX_DUPCHK_UNIT_LIFE   (30U)
 GoMacH's check-duplicate-packet unit life time in cycle count.
 
#define CONFIG_GNRC_GOMACH_MAX_ALLOC_SENDER_NUM   (11U)
 Maximum number of senders allowed to be allocated slots in one cycle.
 
#define CONFIG_GNRC_GOMACH_REPHASELOCK_THRESHOLD   (4U)
 Maximum t2k attempts before going to t2u in GoMacH.
 
#define CONFIG_GNRC_GOMACH_T2U_RETYR_THRESHOLD   (2U)
 Maximum t2u attempts before dropping data packet in GoMacH.
 
#define CONFIG_GNRC_GOMACH_MAX_T2U_RETYR_THRESHOLD   (10U)
 Maximum t2u attempts before re-initiate radio in GoMacH.
 

Functions

int gnrc_netif_gomach_create (gnrc_netif_t *netif, char *stack, int stacksize, char priority, const char *name, netdev_t *dev)
 Creates an IEEE 802.15.4 GoMacH network interface.