OpenWSN Firmware
neighbors.h File Reference
#include "openwsn.h"
#include "icmpv6rpl.h"

Go to the source code of this file.

Data Structures

struct  neighborRow_t
 
struct  debugNeighborEntry_t
 
struct  netDebugNeigborEntry_t
 
struct  neighbors_vars_t
 

Macros

#define MAXNUMNEIGHBORS   10
 
#define MAXPREFERENCE   2
 
#define BADNEIGHBORMAXRSSI   -80
 
#define GOODNEIGHBORMINRSSI   -90
 
#define SWITCHSTABILITYTHRESHOLD   3
 
#define DEFAULTLINKCOST   15
 
#define MAXDAGRANK   0xffff
 
#define DEFAULTDAGRANK   MAXDAGRANK
 
#define MINHOPRANKINCREASE   256
 

Functions

void neighbors_init (void)
 Initializes this module. More...
 
dagrank_t neighbors_getMyDAGrank (void)
 Retrieve this mote's current DAG rank. More...
 
uint8_t neighbors_getNumNeighbors (void)
 Retrieve the number of neighbors this mote's currently knows of. More...
 
bool neighbors_getPreferredParentEui64 (open_addr_t *addressToWrite)
 Retrieve my preferred parent's EUI64 address. More...
 
open_addr_tneighbors_getKANeighbor (uint16_t kaPeriod)
 Find neighbor to which to send KA. More...
 
bool neighbors_isStableNeighbor (open_addr_t *address)
 Indicate whether some neighbor is a stable neighbor. More...
 
bool neighbors_isPreferredParent (open_addr_t *address)
 Indicate whether some neighbor is a preferred neighbor. More...
 
bool neighbors_isNeighborWithLowerDAGrank (uint8_t index)
 Indicate whether some neighbor has a lower DAG rank that me. More...
 
bool neighbors_isNeighborWithHigherDAGrank (uint8_t index)
 Indicate whether some neighbor has a lower DAG rank that me. More...
 
void neighbors_indicateRx (open_addr_t *l2_src, int8_t rssi, asn_t *asnTimestamp, bool joinPrioPresent, uint8_t joinPrio)
 Indicate some (non-ACK) packet was received from a neighbor. More...
 
void neighbors_indicateTx (open_addr_t *dest, uint8_t numTxAttempts, bool was_finally_acked, asn_t *asnTimestamp)
 Indicate some packet was sent to some neighbor. More...
 
void neighbors_indicateRxDIO (OpenQueueEntry_t *msg)
 Indicate I just received a RPL DIO from a neighbor. More...
 
void neighbors_getNeighbor (open_addr_t *address, uint8_t addr_type, uint8_t index)
 Write the 64-bit address of some neighbor to some location. More...
 
void neighbors_updateMyDAGrankAndNeighborPreference (void)
 Update my DAG rank and neighbor preference. More...
 
void neighbors_removeOld (void)
 
bool debugPrint_neighbors (void)
 Triggers this module to print status information, over serial. More...
 
void debugNetPrint_neighbors (netDebugNeigborEntry_t *schlist)