OpenWSN Firmware
neighbors.c File Reference
#include "openwsn.h"
#include "neighbors.h"
#include "openqueue.h"
#include "packetfunctions.h"
#include "idmanager.h"
#include "openserial.h"
#include "IEEE802154E.h"

Functions

void registerNewNeighbor (open_addr_t *neighborID, int8_t rssi, asn_t *asnTimestamp, bool joinPrioPresent, uint8_t joinPrio)
 
bool isNeighbor (open_addr_t *neighbor)
 
void removeNeighbor (uint8_t neighborIndex)
 
bool isThisRowMatching (open_addr_t *address, uint8_t rowNumber)
 
void neighbors_init ()
 Initializes this module. More...
 
dagrank_t neighbors_getMyDAGrank ()
 Retrieve this mote's current DAG rank. More...
 
uint8_t neighbors_getNumNeighbors ()
 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 *asnTs, bool joinPrioPresent, uint8_t joinPrio)
 Indicate some (non-ACK) packet was received from a neighbor. More...
 
void neighbors_indicateTx (open_addr_t *l2_dest, uint8_t numTxAttempts, bool was_finally_acked, asn_t *asnTs)
 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 ()
 Update my DAG rank and neighbor preference. More...
 
void neighbors_removeOld ()
 
bool debugPrint_neighbors ()
 Triggers this module to print status information, over serial. More...
 
void debugNetPrint_neighbors (netDebugNeigborEntry_t *out)
 

Variables

neighbors_vars_t neighbors_vars
 

Function Documentation

bool isNeighbor ( open_addr_t neighbor)
bool isThisRowMatching ( open_addr_t address,
uint8_t  rowNumber 
)
void registerNewNeighbor ( open_addr_t neighborID,
int8_t  rssi,
asn_t asnTimestamp,
bool  joinPrioPresent,
uint8_t  joinPrio 
)
void removeNeighbor ( uint8_t  neighborIndex)

Variable Documentation

neighbors_vars_t neighbors_vars