CTK graphical user interface | The Contiki Toolkit (CTK) provides the graphical user interface for the Contiki system |
 CTK device driver functions | The CTK device driver functions are divided into two modules, the ctk-draw module and the ctk-arch module |
 CTK events | |
 CTK application functions | The CTK functions used by an application program |
Best-effort multihop forwarding | The rmh module implements a multihop forwarding mechanism |
Single-hop reliable bulk data transfer | The rudolph2 module implements a single-hop reliable bulk data transfer mechanism |
Sensor interface | |
Drivers | |
 Master Boot Record Support | |
 FAT Driver - Cooperative Additions | |
 FAT Driver | Additional function for the FAT file system |
Contiki platforms | |
 Contiki SEEDEYE Platform | |
  MRF24J40 Driver | |
 Raven | This module contains code to interface a Contiki-based project on the AVR Raven platform's ATMega1284P chip to the LCD driver chip (ATMega3290P) on the Raven |
  Serial interface between Raven processors | |
 The Tmote Sky Board | The Tmote Sky platform is a wireless sensor board from Moteiv |
 The cc2538 Development Kit platform | The cc2538DK is the new platform by Texas Instruments, based on the cc2530 SoC with an ARM Cortex-M3 core |
  cc2538 Clock | Implementation of the clock module for the cc2538 |
  cc2538 CPU | Cc2538 CPU-specific functions for the cc2538 core |
  cc2538 Character I/O | Cc2538 CPU-specific functions for debugging and SLIP I/O |
  cc2538 IEEE Address Control | Driver for the retrieval of an IEEE address from flash |
  cc2538 Low Power Modes | Driver for the cc2538 power modes |
  cc2538 Register Manipulation | Macros for hardware access, both direct and via the bit-band region |
  cc2538 rtimer | Implementation of the rtimer module for the cc2538 |
  cc2538 RF Driver | Driver implementation for the cc2538 RF transceiver |
  cc2538 flash CCA | Definitions for the cc2538 flash lock bit page and customer configuration area |
  cc2538 General-Purpose I/O | Driver for the cc2538 GPIO controller |
  cc2538 General-Purpose Timers | Driver for the cc2538 General Purpose Timers |
  cc2538 I/O Control | Cc2538 I/O Control Module |
  cc2538 Memory Protection Unit | Driver for the cc2538 Memory Protection Unit |
  cc2538 Nested Vectored Interrupt Controller | Driver for the cc2538 NVIC controller |
  cc2538 Random Number Generator | Driver for the cc2538 Hardware Random Number Generator |
  cc2538 RF Core | Declarations of RF Core registers |
  cc2538 ROM utility function library | Driver for the cc2538 ROM utility function library |
  cc2538 System Control Block | |
  cc2538 Sleep Timer and Watchdog | Register declarations for the cc2538 Sleep Timer and Watchdog |
  cc2538 ADC and RNG | Register declarations for the cc2538 ADC and H/W RNG |
  cc2538 Synchronous Serial Interface | Driver for the cc2538 SPI peripheral |
  cc2538 System Control | Driver for the cc2538 System Control Module |
  cc2538 UART | Driver for the cc2538 UART controller |
  cc2538 micro-DMA | Driver for the cc2538 uDMA controller |
  cc2538 USB controller | Driver for the cc2538 USB controller |
  cc2538 watchdog timer driver | Driver for the cc2538 Watchdog Timer |
  SmartRF06EB Peripherals | Defines related to the SmartRF06EB |
   SmartRF06EB LED driver | LED driver implementation for the TI SmartRF06EB + cc2538EM |
   SmartRF06EB Sensors | Generic module controlling sensors on the SmartRF06EB |
    cc2538dk Button Driver | Driver for the SmartRF06EB buttons |
 The STM32W MBXXX platform. | The STM32W MBXXX platform |
  Board | ST board abstraction layer |
 RZRAVEN LCD 3290p | |
  LCD Functions and data | |
 INGA Sensor Platforms | INGA is an Open Source Wireless Sensor Node for many different applications |
  Bus Drivers | |
   I2C-Bus Driver | |
   Master SPI Bus Manager | |
   Master SPI Bus Driver (MSPI) | |
  Device Drivers | |
   Atmel Flash EEPROM AT45DB interface | |
   MicroSD Card Interface | This driver provides the following main features: |
  INGA example files | |
  Sensors | The INGA platforms provides a variety of sensors |
   Driver Implementation | |
    Analog Digital Converter (internal ADC) | |
    ADXL345 Accelerometer Interface | |
    BMP085 Digital Pressure Sensor | With a pressure sensor it is possible to measure the activity of a person |
    ST L3G4200D 3-axis Gyroscope interface | Details about sensors functionality can be found in corresponding datasheet |
    MPL115A Pressure Sensor (Barometer) | |
   Accelerometer Sensor | This sensor interface allows to control the accelerometer of the INGA sensor platform |
   Analog to Digital Converter (ADC) | |
   Battery Sensor | This sensor interface allows to monitor the supply voltage and current of the INGA sensor platform |
   Gyroscope Sensor | This sensor interface allows to control the gyroscope of the INGA sensor platform |
   Pressure and Temperature Sensor | This sensor interface allows to control the gyroscope of the INGA sensor platform |
 RZRAVEN USB Stick (Jackdaw) | |
  USB Configuration | |
   USB operating modes configuration | Defines to enable device or host usb operating modes supported by the application |
   USB regulator configuration | |
   USB device operating mode configuration | |
    USB device custom actions | |
   USB device custom actions | |
  PLL Macros | These functions allow to control the PLL |
  USB Contiki Task | |
  USB Driver | |
   Configuration macros for endpoints | List of the standard macro used to configure pipes and endpoints |
   USB Pads Regulator drivers | Turns ON/OFF USB pads regulator |
   USB common management drivers | These macros manage the USB controller |
   USB device controller drivers | These macros manage the USB Device controller |
   USB endpoint drivers | These macros manage the common features of the endpoints |
   USB host controller drivers | These macros manage the USB Host controller |
   USB pipe drivers | These macros manage the common features of the pipes |
  RNDIS Support | |
  USB Mass Storage Task | |
  CDC Task | |
  6LowPan Ethernet Interop | |
Tutorials | This module contains all Contiki related tutorials |
 Running Contiki with uIPv6 and SICSlowpan support on Atmel RAVEN hardware | This tutorial explains how to run Contiki with IPv6 and 6lowpan support on Atmel RAVEN hardware |
The Contiki build system | |
Contiki system | |
 Argument buffer | The argument buffer can be used when passing an argument from an exiting process to a process that has not been created yet |
 Clock library | The clock library is the interface between Contiki and the platform specific clock functionality |
 Communication power accounting | The compower module accumulates power consumption information and attributes it to communication activities |
 Callback timer | The ctimer module provides a timer mechanism that calls a specified C function when a ctimer expires |
 Event timers | Event timers provides a way to generate timed events |
 The Contiki program loader | The Contiki program loader is an abstract interface for loading and starting programs |
  The Contiki ELF loader | The Contiki ELF loader links, relocates, and loads ELF (Executable Linkable Format) object files into a running Contiki system |
   Architecture specific functionality for the ELF loader. | The architecture specific functionality for the Contiki ELF loader has to be implemented for each processor type Contiki runs on |
 Multi-threading library | The event driven Contiki kernel does not provide multi-threading by itself - instead, preemptive multi-threading is implemented as a library that optionally can be linked with applications |
  Architecture support for multi-threading | The Contiki multi-threading library requires some architecture specific support for setting up and switching stacks |
 Contiki processes | A process in Contiki consists of a single protothread |
 Real-time task scheduling | The real-time module handles the scheduling and execution of real-time tasks (with predictable execution times) |
 Seconds timer library | The stimer library provides functions for setting, resetting and restarting timers, and for checking if a timer has expired |
 Contiki subprocesses | A Contiki subprocess is a "process-in-a-process" |
 Timer library | The Contiki kernel does not provide support for timed events |
 Implicit network time synchronization | This crude and simple network time synchronization module synchronizes clocks of all nodes in a network |
 The Contiki file system interface | The Contiki file system interface (CFS) defines an abstract API for reading directories and for reading and writing files |
  FAT Driver | Additional function for the FAT file system |
  DiskIO Abstraction Layer | |
  FAT Driver - Cooperative Additions | |
 Protothreads | Protothreads are a type of lightweight stackless threads designed for severly memory constrained systems such as deeply embedded systems or sensor network nodes |
  Local continuations | Local continuations form the basis for implementing protothreads |
  Protothread semaphores | This module implements counting semaphores on top of protothreads |
Memory functions | |
 Memory block management functions | The memory block allocation routines provide a simple yet powerful set of functions for managing a set of memory blocks of fixed size |
 Managed memory allocator | The managed memory allocator is a fragmentation-free memory manager |
Communication stacks | |
 The uIP TCP/IP stack | The uIP TCP/IP stack provides Internet communication abilities to Contiki |
  uIP packet forwarding | |
  uIP Address Resolution Protocol | The Address Resolution Protocol ARP is used for mapping between IP addresses and link level addresses such as the Ethernet MAC addresses |
  Protosockets library | The protosocket library provides an interface to the uIP stack that is similar to the traditional BSD socket interface |
  uIP hostname resolver functions | The uIP DNS resolver functions are used to lookup a hostname and map it to a numerical IP address |
  Simple-udp | The default Contiki UDP API is difficult to use |
  Serial Line IP (SLIP) protocol | The SLIP protocol is a very simple way to transmit IP packets over a serial line |
  The Contiki/uIP interface | TCP/IP support in Contiki is implemented using the uIP TCP/IP stack |
  uIP TCP throughput booster hack | The basic uIP TCP implementation only allows each TCP connection to have a single TCP segment in flight at any given time |
  uIP configuration functions | The uIP configuration functions are used for setting run-time parameters in uIP such as IP addresses |
  uIP initialization functions | The uIP initialization functions are used for booting uIP |
  uIP device driver functions | These functions are used by a network device driver for interacting with uIP |
  uIP application functions | Functions used by an application running of top of uIP |
  uIP conversion functions | These functions can be used for converting between different data formats used by uIP |
  Variables used in uIP device drivers | UIP has a few global variables that are used in device drivers for uIP |
  Configuration options for uIP | UIP is configured using the per-project configuration file "uipopt.h" |
   Static configuration options | These configuration options can be used for setting the IP address settings statically, but only if UIP_FIXEDADDR is set to 1 |
   General configuration options | |
   IP configuration options | |
   IPv6 configuration options | |
   UDP configuration options | |
   TCP configuration options | The name of the function that should be called when UDP datagrams arrive |
   ARP configuration options | |
   layer 2 options (for ipv6) | |
   6lowpan options (for ipv6) | |
   CPU architecture configuration | The CPU architecture configuration is where the endianess of the CPU on which uIP is to be run is specified |
   Application specific configurations | An uIP application is implemented using a single application function that is called by uIP whenever a TCP/IP event occurs |
  6LoWPAN implementation | 6lowpan is a Working Group in IETF which defines the use of IPv6 on IEEE 802.15.4 links |
  uIP IPv6 specific features | The uIP IPv6 stack provides new Internet communication abilities to Contiki |
   RPL implementation ContikiRPL (RFC 6550). | |
   IPv6 Neighbor cache (link-layer/IPv6 address mapping) | Data structure and methods for IPv6 Neighbor Cache (RFC 4861, section 5.1) |
   Routing | |
   Network interface and stateless autoconfiguration (RFC 4862) | |
   Neighbor discovery (RFC 4861) | |
  Architecture specific uIP functions | The functions in the architecture specific module implement the IP check sum and 32-bit additions |
 The Rime communication stack | The Rime communication stack provides a set of lightweight communication primitives ranging from best-effort anonymous local area broadcast to reliable network flooding |
  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 |
  Rime queue buffer management | The queuebuf module handles buffers that are queued |
  Anonymous best-effort local area broadcast | The abc module sends packets to all local area neighbors |
  Announcements | The Announcement primitive does local area announcements |
  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 |
  Link estimate management | The link estimate module is used for computing estimations of link quality |
  Collect neighbor management | The neighbor module manages the neighbor table that is used by the Collect module |
  Tree-based hop-by-hop reliable data collection | The collect module implements a hop-by-hop reliable data collection mechanism |
  Ipolite best effort local broadcast | The ipolite module sends one local area broadcast packet within one time interval |
  Mesh routing | The mesh module sends packets using multi-hop routing to a specified receiver somewhere in the network |
  Best-effort multihop forwarding | The multihop module implements a multihop forwarding mechanism |
  Neighbor discovery | The neighbor-discovery module implements a periodic neighbor discovery mechanism |
  Best-effort network flooding | The netflood module does best-effort flooding |
  Rimepoliteannouncement | The polite announcement module implements a periodic explicit announcement |
  Polite anonymous best effort local broadcast | The polite module sends one local area broadcast packet within one time interval |
  Rime route discovery protocol | The route-discovery module does route discovery for Rime |
  Rime route table | The route module handles the route table in Rime |
  Single-hop reliable bulk data transfer | The rudolph0 module implements a single-hop reliable bulk data transfer mechanism |
  Multi-hop reliable bulk data transfer | The rudolph1 module implements a multi-hop reliable bulk data transfer mechanism |
  Single-hop reliable unicast | The reliable single-hop unicast primitive (runicast) reliably sends a packet to a single-hop neighbor |
  Stubborn best-effort local area broadcast | The stbroadcast module provides stubborn anonymous best-effort local area broadcast |
  Stubborn unicast | The stubborn single-hop unicast primitive (stunicast) repeatedly sends a packet to a single-hop neighbor using the unicast primitive |
  Reliable single-source multi-hop flooding | The trickle module sends a single packet to all nodes on the network |
  Single-hop unicast | The unicast module sends a packet to an identified single-hop neighbor |
Device driver APIs | |
 EEPROM API | The EEPROM API defines a common interface for EEPROM access on Contiki platforms |
 LEDs API | The LEDs API defines a set of functions for accessing LEDs for Contiki plaforms with LEDs |
 Radio API | The radio API module defines a set of functions that a radio device driver must implement |
Libraries | |
 Cyclic Redundancy Check 16 (CRC16) calculation | The Cyclic Redundancy Check 16 is a hash function that produces a checksum that is used to detect errors in transmissions |
 Linked list library | The linked list library provides a set of functions for manipulating linked lists |
 Table-driven Manchester encoding and decoding | Manchester encoding is a bit encoding scheme which translates each bit into two bits: the original bit and the inverted bit |
 Ring buffer library | The ring buffer library implements ring (circular) buffer where bytes can be read and written independently |
 Trickle timers | This library implements timers which behave in accordance with RFC 6206 "The Trickle Algorithm" (http://tools.ietf.org/html/rfc6206) |
Rimeexamples | |
Rimebroadcast | |
Rimecollect_neighbor | |
Frame802154 | |
PIC32 Contiki Port | |
Cpu | |
 PIC32 Contiki Port | |
Stm32w-cpu | Compiler and Platform specific definitions and typedefs common to all platforms |
 Status_codes | Many StZNet API functions return an ::StStatus value to indicate the success or failure of the call |
 Adc | Sample A/D converter driver |
 Led | Sample API funtions for controlling LEDs |
 Micro | Many of the supplied example applications use these microcontroller functions |
 System_timer | Functions that provide access to the system clock |
 Definition and description of public flash manipulation routines. | |
 Nvm | Cortex-M3 Non-Volatile Memory data storage system |
 Gnu | Compiler and Platform specific definitions and typedefs for the GNU C ARM compiler |
 Iar | Compiler and Platform specific definitions and typedefs for the IAR ARM C compiler |
Wireless | This module contains the radio driver code for the Atmel AT86RF230, '231, and '212 chips |
 RF230 hardware level drivers | HAL function names have the following conventions: |
 RF230 MAC | The equivalent IEEE 802.15.4 (2003/2006) header file for the mac primitives |
  SICSLoWMAC Implementation | |
 RF230 Frame handling | |
 RF230 interface | |
Avr | This module contains AVR-specific code to implement the Contiki core clock functions |
 AVR clock implementation | |
 XgSmscRegs | |
 XgNicLanc111 | |
Esb | |
 ESB RS232 | |
 Beeper interface | |