Microchip® Advanced Software Framework

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Rime

Modules

 Rime queue buffer management
 The queuebuf module handles buffers that are queued.
 
 Rime addresses
 The linkaddr module is an abstract representation of addresses in Rime.
 
 Rime buffer management
 The packetbuf module does Rime's buffer management.
 
 Packet queue
 The packetqueue module handles a list of queued packets.
 
 Single-hop reliable bulk data transfer
 The rudolph0 module implements a single-hop reliable bulk data transfer mechanism.
 
 Reliable single-source multi-hop flooding
 The trickle module sends a single packet to all nodes on the network.
 
 Stubborn unicast
 The stubborn single-hop unicast primitive (stunicast) repeatedly sends a packet to a single-hop neighbor using the unicast primitive.
 
 Rime route discovery protocol
 The route-discovery module does route discovery for Rime.
 
 Collect neighbor management
 The neighbor module manages the neighbor table that is used by the Collect module.
 
 Link estimate management
 The link estimate module is used for computing estimations of link quality.
 
 Stubborn best-effort local area broadcast
 The stbroadcast module provides stubborn anonymous best-effort local area broadcast.
 
 Single-hop reliable unicast
 The reliable single-hop unicast primitive (runicast) reliably sends a packet to a single-hop neighbor.
 
 Best-effort network flooding
 The netflood module does best-effort flooding.
 
 Mesh routing
 The mesh module sends packets using multi-hop routing to a specified receiver somewhere in the network.
 
 Polite anonymous best effort local broadcast
 The polite module sends one local area broadcast packet within one time interval.
 
 Multi-hop reliable bulk data transfer
 The rudolph1 module implements a multi-hop reliable bulk data transfer mechanism.
 
 Best-effort multihop forwarding
 The rmh module implements a multihop forwarding mechanism.
 
 Rimepoliteannouncement
 The polite announcement module implements a periodic explicit announcement.
 
 Ipolite best effort local broadcast
 The ipolite module sends one local area broadcast packet within one time interval.
 
 Single-hop unicast
 The unicast module sends a packet to an identified single-hop neighbor.
 
 Neighbor discovery
 The neighbor-discovery module implements a periodic neighbor discovery mechanism.
 
 Anonymous best-effort local area broadcast
 The abc module sends packets to all local area neighbors.
 
 Rimebroadcastannouncement
 The broadcast announcement module implements a periodic explicit announcement.
 
 Best-effort local area broadcast
 The broadcast module sends packets to all local area neighbors with an a header that identifies the sender.
 
 Tree-based hop-by-hop reliable data collection
 The collect module implements a hop-by-hop reliable data collection mechanism.
 
 Announcements
 The Announcement primitive does local area announcements.
 
 Rime route table
 The route module handles the route table in Rime.
 

Data Structures

struct  collect_link_estimate
 
struct  rime_sniffer
 

Files

 
file  rime.h
 
    Header file for the Rime stack

 

Macros

#define COLLECT_LINK_ESTIMATE_UNIT   8
 
#define RIME_SNIFFER(name, input_callback, output_callback)   static struct rime_sniffer name = { NULL, input_callback, output_callback }
 

Enumerations

enum  {
  RIME_OK,
  RIME_ERR,
  RIME_ERR_CONTENTION,
  RIME_ERR_NOACK
}
 

Functions

uint16_t collect_link_estimate (struct collect_link_estimate *le)
 Compute the link estimate metric for a link estimate. More...
 
void collect_link_estimate_new (struct collect_link_estimate *le)
 Initialize a new link estimate. More...
 
int collect_link_estimate_num_estimates (struct collect_link_estimate *le)
 
void collect_link_estimate_update_rx (struct collect_link_estimate *le)
 Update a link estimate when a packet has been received. More...
 
void collect_link_estimate_update_tx (struct collect_link_estimate *le, uint8_t num_tx)
 Update a link estimate when a packet has been sent. More...
 
void collect_link_estimate_update_tx_fail (struct collect_link_estimate *le, uint8_t num_tx)
 Update a link estimate when a packet has failed to be sent. More...
 
int rime_init (void)
 Initialize Rime. More...
 
void rime_input (void)
 Send an incoming packet to Rime. More...
 
int rime_output (struct channel *c)
 
void rime_sniffer_add (struct rime_sniffer *s)
 
void rime_sniffer_remove (struct rime_sniffer *s)
 

Variables

struct network_driver rime_driver
 

#define COLLECT_LINK_ESTIMATE_UNIT   8
#define RIME_SNIFFER (   name,
  input_callback,
  output_callback 
)    static struct rime_sniffer name = { NULL, input_callback, output_callback }

anonymous enum
Enumerator
RIME_OK 
RIME_ERR 
RIME_ERR_CONTENTION 
RIME_ERR_NOACK 

uint16_t collect_link_estimate ( struct collect_link_estimate le)

Compute the link estimate metric for a link estimate.

Parameters
leA pointer to a link estimate structure
Returns
The current link estimate metric
void collect_link_estimate_new ( struct collect_link_estimate le)

Initialize a new link estimate.

Parameters
leA pointer to a link estimate structure
        This function initializes a link estimate.
int collect_link_estimate_num_estimates ( struct collect_link_estimate le)
void collect_link_estimate_update_rx ( struct collect_link_estimate le)

Update a link estimate when a packet has been received.

Parameters
leA pointer to a link estimate structure
        This function updates a link estimate. This function is
        called when a packet has been received. The function
        uses information from the packet buffer and its
        attributes.
void collect_link_estimate_update_tx ( struct collect_link_estimate le,
uint8_t  num_tx 
)

Update a link estimate when a packet has been sent.

Parameters
leA pointer to a link estimate structure
num_txThe number of times the packet was transmitted before it was ACKed
        This function updates a link estimate. This function is
        called when a packet has been sent. The function may
        use information from the packet buffer and the packet
        buffer attributes when computing the link estimate.
void collect_link_estimate_update_tx_fail ( struct collect_link_estimate le,
uint8_t  num_tx 
)

Update a link estimate when a packet has failed to be sent.

Parameters
leA pointer to a link estimate structure
num_txThe number of times the packet was transmitted before it was given up on.
        This function updates a link estimate. This function is
        called when a packet has been sent. The function may
        use information from the packet buffer and the packet
        buffer attributes when computing the link estimate.
int rime_init ( void  )

Initialize Rime.

This function should be called from the system boot up code to initialize Rime.

void rime_input ( void  )

Send an incoming packet to Rime.

This function should be called by the network driver to hand over a packet to Rime for further processing. The packet should be placed in the packetbuf (with packetbuf_copyfrom()) before calling this function.

int rime_output ( struct channel c)
void rime_sniffer_add ( struct rime_sniffer s)

References s.

void rime_sniffer_remove ( struct rime_sniffer s)

References NULL.

struct network_driver rime_driver