tsch-schedule.c File Reference

    IEEE 802.15.4 TSCH MAC schedule manager.

#include "contiki.h"
#include "dev/leds.h"
#include "lib/memb.h"
#include "net/nbr-table.h"
#include "net/packetbuf.h"
#include "net/queuebuf.h"
#include "net/mac/tsch/tsch.h"
#include "net/mac/framer/frame802154.h"
#include "sys/process.h"
#include "sys/rtimer.h"
#include <string.h>
#include "sys/log.h"

Go to the source code of this file.


struct tsch_slotframetsch_schedule_add_slotframe (uint16_t handle, uint16_t size)
 Creates and adds a new slotframe. More...
int tsch_schedule_remove_all_slotframes (void)
 Removes all slotframes, resulting in an empty schedule. More...
int tsch_schedule_remove_slotframe (struct tsch_slotframe *slotframe)
 Removes a slotframe. More...
struct tsch_slotframetsch_schedule_get_slotframe_by_handle (uint16_t handle)
 Looks up a slotframe by handle. More...
struct tsch_linktsch_schedule_get_link_by_handle (uint16_t handle)
 Looks for a link from a handle. More...
struct tsch_linktsch_schedule_add_link (struct tsch_slotframe *slotframe, uint8_t link_options, enum link_type link_type, const linkaddr_t *address, uint16_t timeslot, uint16_t channel_offset, uint8_t do_remove)
 Adds a link to a slotframe. More...
int tsch_schedule_remove_link (struct tsch_slotframe *slotframe, struct tsch_link *l)
 Removes a link. More...
int tsch_schedule_remove_link_by_timeslot (struct tsch_slotframe *slotframe, uint16_t timeslot, uint16_t channel_offset)
 Removes a link from a slotframe and timeslot. More...
struct tsch_linktsch_schedule_get_link_by_timeslot (struct tsch_slotframe *slotframe, uint16_t timeslot, uint16_t channel_offset)
 Looks within a slotframe for a link with a given timeslot. More...
struct tsch_linktsch_schedule_get_next_active_link (struct tsch_asn_t *asn, uint16_t *time_offset, struct tsch_link **backup_link)
 Returns the next active link after a given ASN, and a backup link (for the same ASN, with Rx flag) More...
int tsch_schedule_init (void)
 Module initialization, call only once at init. More...
void tsch_schedule_create_minimal (void)
 Create a 6tisch minimal schedule with length TSCH_SCHEDULE_DEFAULT_LENGTH.
struct tsch_slotframetsch_schedule_slotframe_head (void)
 Access the first item in the list of slotframes. More...
struct tsch_slotframetsch_schedule_slotframe_next (struct tsch_slotframe *sf)
 Access the next item in the list of slotframes. More...
void tsch_schedule_print (void)
 Prints out the current schedule (all slotframes and links)

Detailed Description

    IEEE 802.15.4 TSCH MAC schedule manager.
Simon Duquennoy Beshr Al Nahas Atis Elsts

Definition in file tsch-schedule.c.