The CTK VNC server | |
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 |
Logging subsystem | The logging subsystem allows different logdomains to be configured |
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 |
Statistics module | |
Documentation | |
Function quick reference | |
Drivers | |
 Analog Digital Converter (ADC) | |
 I2C-Bus Driver | |
 Master SPI Bus Driver (MSPI) | |
 Master SPI Bus Manager | |
Interfaces | |
 Accelerometer Interface (ADXL345) | |
 Atmel Flash EEPROM AT45DB interface | |
 MicroSD Card Interface | |
 ST L3G4200D 3-axis Gyroscope interface | |
 BMP085 Digital Pressure Sensor | |
 Pressure Sensor (Barometer) MPL115A | |
uIP type definitions | |
The Contiki build system | |
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 |
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 | |
 uDTN: Bundle Protocol stack | |
  Administrative Records | |
  Bundle Protocol Agent | |
  Bundle Protocol API | |
  Bundle Memory Representation | |
  IEEE 802.15.4 Convergence Layer | |
  Custody modules | |
   basic custody module | |
   NULL custody module | |
  Discovery modules | |
   Basic discovery module | |
   IP-ND discovery module | |
   Static discovery module | |
  Network Layer interface | |
  EID Representation and Helper Methods | |
  Hashing modules | |
   'Hashing' implementation using the XOR function | |
   Hashing implementation using the xxFAST algorithm | |
  Redundancy check moduldes | |
   basic redundancy check module | |
   Bloomfilter-based redundancy module | |
  Routing modules | |
   Flooding Routing module | |
  SDNV Functions | |
  Bundle Status reports | |
   Basic status report module | |
  Bundle Storage modules | |
   COFFEE-based persistent Storage | |
   MMEM-based temporary Storage | |
 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 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 addresses | The rimeaddr module is an abstract representation of addresses in Rime |
  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 |
 The uIP TCP/IP stack | The uIP TCP/IP stack provides Internet communication abilities to Contiki |
  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 packet forwarding | |
  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 |
  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 |
  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 |
   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) | |
   General configuration options | |
   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 |
  Architecture specific uIP functions | The functions in the architecture specific module implement the IP check sum and 32-bit additions |
Contiki platforms | |
 RZRAVEN LCD 3290p | |
  LCD Functions and data | |
 The ESB Embedded Sensor Board | The ESB (Embedded Sensor Board) is a prototype wireless sensor network device developed at FU Berlin |
  ESB RS232 | |
  Beeper interface | |
  TR1001 radio tranciever device driver | |
  Introduction to Over The Air Reprogramming under Windows | |
 The Modular Sensor Board | The Modular Sensor Board (MSB430) was developed by FU-Berlin and was added as a platform in Contiki in the spring of 2007 |
 The Tmote Sky Board | The Tmote Sky platform is a wireless sensor board from Moteiv |
 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 | |
  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 | |
Contiki system | |
 The Contiki file system interface | The Contiki file system interface (CFS) defines an abstract API for reading directories and for reading and writing files |
 Implicit network time synchronization | This crude and simple network time synchronization module synchronizes clocks of all nodes in a network |
 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 |
 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 |
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 |
Frame802154 | |
Rimeexamples | |
Rimebroadcast | |
Rimecollect_neighbor | |
Rimemh | |
XgSmscRegs | |
XgNicLanc111 | |
Usb | |
 PLL Macros | These functions allow to control the PLL |
Wireless | This module contains the radio driver code for the Atmel AT86RF230, '231, and '212 chips |
 RF230 MAC | The equivalent IEEE 802.15.4 (2003/2006) header file for the mac primitives |
  SICSLoWMAC Implementation | |
 RF230 Frame handling | |
 RF230 hardware level drivers | HAL function names have the following conventions: |
 RF230 interface | |
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 |
Flash | Definition and description of public flash manipulation routines |
Nvm | Data definitions for the 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 |
Board | ST board abstraction layer |
Platform_common | Compiler and Platform specific definitions and typedefs common to all platforms |
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 | |
Storage | MSP430 Infomemory Storage |
Interfaces | UART interface |
 UART1 | The UART module multiplexes differenct protocol on the MSB's UART1 interface |