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 |
Contiki platforms | |
 RZRAVEN LCD 3290p | |
  LCD Functions and data | |
 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 ADC | Driver for the cc2538 ADC controller |
  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 ADC Driver | Driver for the SmartRF06EB ADC sensors |
    cc2538dk Button Driver | Driver for the SmartRF06EB buttons |
 The STM32W MBXXX platform | The STM32W MBXXX platform |
  Board | ST board abstraction layer |
 Native platform | Platform running in the host (Windows or Linux) environment |
  Beeper interface | |
 Contiki SEEDEYE Platform | |
  MRF24J40 Driver | |
 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 | |
  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 | |
 Enhanced Apple IIe | |
 Atari XL | |
 AVR-ATMEGA128RFA1 platform | |
  Serial interface between Raven processors | 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 |
 Atmel AVR Raven | |
  Serial interface between Raven processors | 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 |
 Atmel Radio Controller Board (RZ200) | |
 ZigBit | |
 Commodore 128 | |
 Commodore 64 | |
 CC2530 Development Kit | |
 CC2538 Development Kit | |
 COOJA network simulator node | |
 Redbee Econtag | |
 EV-ADuCRF101MKxZ Board | |
 EVAL-ADF7xxxMB4Z Board | |
 MSP430F5438 Experimenter Board | |
 MICAz | |
 Minimal-net native platform | |
 Sensinode | |
 Generic STM32F103 platform | |
 Win32 | |
 WiSMote | |
 Zolertia Z1 | |
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 |
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 |
Communication stacks | |
 Link Layer Security | Layer for implementing link layer security |
  Llsec802154 | Common functionality of 802.15.4-compliant llsec_drivers |
  Nullsec | Insecure link layer security driver |
  Noncoresec | Noncompromise-resilient 802.15.4 security |
 802.15.4 frame creation and parsing | |
 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 |
  Broadcast announcement | 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 |
  Polite announcement | 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 |
  Reliable multihop forwarding | The rmh module implements a multihop forwarding mechanism |
  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 (rudolph0) | The rudolph0 module implements a single-hop reliable bulk data transfer mechanism |
  Multi-hop reliable bulk data transfer (rudolph1) | The rudolph1 module implements a multi-hop reliable bulk data transfer mechanism |
  Single-hop reliable bulk data transfer (rudolph2) | The rudolph2 module implements a single-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 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 on 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 |
  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 |
  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 CPUs | |
 PIC32 Contiki Port | |
 AVR | This module contains AVR-specific code to implement the Contiki core clock functions |
  AVR clock implementation | |
  XgSmscRegs | |
  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 | |
  XgNicLanc111 | |
 ARM | |
  CMSIS (Cortex Microcontroller Software Interface Standard) | |
   Cortex_M0 | |
   Cortex_M3 | |
   Cortex_M4 | |
   Functions and Instructions Reference | |
    NVIC Functions | Functions that manage interrupts and exceptions via the NVIC |
    SysTick Functions | Functions that configure the System |
    ITM Functions | Functions that access the ITM debug interface |
    CMSIS Core Register Access Functions | |
   Defines and Type Definitions | Type definitions and defines for Cortex-M processor based devices |
    Status and Control Registers | Core Register type definitions |
    Nested Vectored Interrupt Controller (NVIC) | Type definitions for the NVIC Registers |
    System Control Block (SCB) | Type definitions for the System Control Block Registers |
    System Tick Timer (SysTick) | Type definitions for the System Timer Registers |
    Core Debug Registers (CoreDebug) | Cortex-M0 Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible over DAP and not via processor |
    Core Definitions | Definitions for base addresses, unions, and structures |
    System Controls not in SCB (SCnSCB) | Type definitions for the System Control and ID Register not in the SCB |
    Instrumentation Trace Macrocell (ITM) | Type definitions for the Instrumentation Trace Macrocell (ITM) |
    Data Watchpoint and Trace (DWT) | Type definitions for the Data Watchpoint and Trace (DWT) |
    Trace Port Interface (TPI) | Type definitions for the Trace Port Interface (TPI) |
   CMSIS Global Defines | IO Type Qualifiers are used |
   CMSIS_MISRA_Exceptions | |
   CMSIS_core_definitions | |
   CMSIS SIMD Intrinsics | Access to dedicated SIMD instructions |
   CMSIS Core Instruction Interface | Access to dedicated instructions |
  ADUCRF101 | |
  AT91SAM7S | |
  STM32F103 | |
 STM32W108 | 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 |
  Sample A/D converter driver. | See adc.h for source code |
  Sample API funtions for controlling LEDs. | When specifying an LED to use, always use the BOARDLEDx definitions that are defined within the BOARD_HEADER |
  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 |
 CCxxx | |
 ADUCRF101 | |
  Configuration_of_CMSIS | |
  Device_Peripheral_Registers | |
 Native | |
 x86 | |
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 |
 Settings Manager | The settings manager is an EEPROM-based key-value store |
 Trickle timers | This library implements timers which behave in accordance with RFC 6206 "The Trickle Algorithm" (http://tools.ietf.org/html/rfc6206) |
 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 |
The Contiki build system | |
Applications | Contiki provides a set of apps that provide functionalities such as a web server |
 A service registration and diseemination hack | This application is a quick'n'dirty hack for registering, disseminating, and looking up services |
 The Contiki shell | The Contiki shell provides both interactive and batch processing for Contiki |
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 |
Interrupt vector numbers | |
Cortex M4 Core Configuration | |
Device Peripheral Access Layer | |
 ADC Peripheral Access Layer | |
  ADC Register Masks | |
 AIPS Peripheral Access Layer | |
  AIPS Register Masks | |
 AXBS Peripheral Access Layer | |
  AXBS Register Masks | |
 CAN Peripheral Access Layer | |
  CAN Register Masks | |
 CAU Peripheral Access Layer | |
  CAU Register Masks | |
 CMP Peripheral Access Layer | |
  CMP Register Masks | |
 CMT Peripheral Access Layer | |
  CMT Register Masks | |
 CRC Peripheral Access Layer | |
  CRC Register Masks | |
 DAC Peripheral Access Layer | |
  DAC Register Masks | |
 DMA Peripheral Access Layer | |
  DMA Register Masks | |
 DMAMUX Peripheral Access Layer | |
  DMAMUX Register Masks | |
 ENET Peripheral Access Layer | |
  ENET Register Masks | |
 EWM Peripheral Access Layer | |
  EWM Register Masks | |
 FB Peripheral Access Layer | |
  FB Register Masks | |
 FMC Peripheral Access Layer | |
  FMC Register Masks | |
 FTFL Peripheral Access Layer | |
  FTFL Register Masks | |
 FTM Peripheral Access Layer | |
  FTM Register Masks | |
 GPIO Peripheral Access Layer | |
  GPIO Register Masks | |
 I2C Peripheral Access Layer | |
  I2C Register Masks | |
 I2S Peripheral Access Layer | |
  I2S Register Masks | |
 LLWU Peripheral Access Layer | |
  LLWU Register Masks | |
 LPTMR Peripheral Access Layer | |
  LPTMR Register Masks | |
 MCG Peripheral Access Layer | |
  MCG Register Masks | |
 MCM Peripheral Access Layer | |
  MCM Register Masks | |
 MPU Peripheral Access Layer | |
  MPU Register Masks | |
 NV Peripheral Access Layer | |
  NV Register Masks | |
 OSC Peripheral Access Layer | |
  OSC Register Masks | |
 PDB Peripheral Access Layer | |
  PDB Register Masks | |
 PIT Peripheral Access Layer | |
  PIT Register Masks | |
 PMC Peripheral Access Layer | |
  PMC Register Masks | |
 PORT Peripheral Access Layer | |
  PORT Register Masks | |
 RCM Peripheral Access Layer | |
  RCM Register Masks | |
 RFSYS Peripheral Access Layer | |
  RFSYS Register Masks | |
 RFVBAT Peripheral Access Layer | |
  RFVBAT Register Masks | |
 RNG Peripheral Access Layer | |
  RNG Register Masks | |
 RTC Peripheral Access Layer | |
  RTC Register Masks | |
 SDHC Peripheral Access Layer | |
  SDHC Register Masks | |
 SIM Peripheral Access Layer | |
  SIM Register Masks | |
 SMC Peripheral Access Layer | |
  SMC Register Masks | |
 SPI Peripheral Access Layer | |
  SPI Register Masks | |
 TSI Peripheral Access Layer | |
  TSI Register Masks | |
 UART Peripheral Access Layer | |
  UART Register Masks | |
 USB Peripheral Access Layer | |
  USB Register Masks | |
 USBDCD Peripheral Access Layer | |
  USBDCD Register Masks | |
 VREF Peripheral Access Layer | |
  VREF Register Masks | |
 WDOG Peripheral Access Layer | |
  WDOG Register Masks | |
 MC Peripheral Access Layer | |
  MC Register Masks | |
Backward Compatibility | |