Deployment | |
▼Hardware support | CPU, device drivers and platform code |
▼CPUs | |
►Support for Arm CPUs | Arm Cortex-M implementation of mutexes using the LDREX, STREX and DMB instructions |
Arm Cortex-M3 | |
Arm Cortex-M4 | |
►CMSIS (Cortex Microcontroller Software Interface Standard) | |
CMSIS Core Instruction Interface | Access to dedicated instructions |
CMSIS Global Defines | IO Type Qualifiers are used |
CMSIS SIMD Intrinsics | Access to dedicated SIMD instructions |
CMSIS_MISRA_Exceptions | |
CMSIS_core_definitions | |
Cortex-M0 | |
Cortex-M0+ | |
Cortex-M3 | |
Cortex-M4 | |
Cortex-M7 | |
►Defines and Type Definitions | Type definitions and defines for Cortex-M processor based devices |
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 |
Core register bit field macros | Macros for use with bit field definitions (xxx_Pos, xxx_Msk) |
Data Watchpoint and Trace (DWT) | Type definitions for the Data Watchpoint and Trace (DWT) |
Instrumentation Trace Macrocell (ITM) | Type definitions for the Instrumentation Trace Macrocell (ITM) |
Nested Vectored Interrupt Controller (NVIC) | Type definitions for the NVIC Registers |
Status and Control Registers | Core Register type definitions |
System Control Block (SCB) | Type definitions for the System Control Block Registers |
System Controls not in SCB (SCnSCB) | Type definitions for the System Control and ID Register not in the SCB |
System Tick Timer (SysTick) | Type definitions for the System Timer Registers |
Trace Port Interface (TPI) | Type definitions for the Trace Port Interface (TPI) |
►Functions and Instructions Reference | |
CMSIS Core Register Access Functions | |
Cache Functions | Functions that configure Instruction and Data cache |
FPU Functions | Function that provides FPU type |
ITM Functions | Functions that access the ITM debug interface |
NVIC Functions | Functions that manage interrupts and exceptions via the NVIC |
SysTick Functions | Functions that configure the System |
►The TI CC13xx and CC26xx Systems-on-Chip | This group documents the TI CC26xx and CC13xx CPUs |
CC13xx-CC26xx master interrupt manipulation | Master interrupt manipulation routines for the CC13xx and CC26xx CPUs |
CC13xx/CC26xx ADC Sensor | |
CC13xx/CC26xx AUX domain controller | CC13xx/CC26xx AUX domain power management controller |
CC13xx/CC26xx BatMon sensor driver | Driver for the on-chip battery voltage and chip temperature sensor |
CC13xx/CC26xx CMSIS | CC13xx/CC26xx Cortex-M4 CMSIS definitions |
CC13xx/CC26xx CMSIS | CC13xx/CC26xx Cortex-M3 CMSIS definitions |
CC13xx/CC26xx GPIO HAL implementation | |
CC13xx/CC26xx IEEE Address Control | Driver for the retrieval of an IEEE address from flash |
CC13xx/CC26xx Low-Power management | CC13xx/CC26xx low-power operation |
►CC13xx/CC26xx RF core | Different flavours of chips of the CC13xx/CC26xx family have different radio capability |
CC13xx Prop mode driver | |
CC13xx/CC26xx BLE driver | |
CC13xx/CC26xx IEEE mode driver | |
IEEE 802.15.4g Frequency Bands and Modes | |
RF Switch | Header file for RF switch support |
CC13xx/CC26xx Random Number Generator | Driver for the CC13xx/CC26xx Random Number Generator |
CC13xx/CC26xx UARTs | Driver for the CC13xx/CC26xx UART controller |
►CC13xx/CC26xx clock and timer subsystem | For the CC13xx/CC26xx cpu we use the AON RTC as the basis for all clocks and timers |
CC13xx/CC26xx AON RTC driver | Underpins the platform's software clocks and timers |
CC13xx/CC26xx rtimer | Implementation of the rtimer module for the CC13xx/CC26xx |
CC13xx/CC26xx watchdog timer driver | Driver for the CC13xx/CC26xx Watchdog Timer |
Software Clock | Implementation of the clock module for the CC26xx and CC13xx |
CC13xx/CC26xx oscillator control | Wrapper around CC26xxware/CC13xxware OSC functions that we need in Contiki |
CCxxware-specific configuration | |
TI CC26xxware/CC13xxware Glue | Glue file which renames TI CC26xxware functions |
►The TI CC2538 System-on-Chip | CPU-Specific functionality - available to all cc2538-based platforms |
►CC2538 Built-In Sensors | Module controlling sensors on the CC2538 SoC (Tmp and VDD3) |
CC2538 VDD3 Sensor | Driver for the CC2538 VDD3 sensor |
CC2538 on-chip temperature Sensor | Driver for the CC2538 on-chip temperature sensor |
►CC2538 Cortex-M3 | CC2538 Cortex-M3 CMSIS definitions |
CC2538 CMSIS Definitions | Configuration of the Cortex-M3 Processor and Core Peripherals |
CC2538 GPIO HAL implementation | |
CC2538 PWM driver | Driver for the CC2538 PWM on GPTIMER |
CC2538 master interrupt manipulation | Master interrupt manipulation routines for the CC2538 CPU |
cc2538 ADC | Driver for the cc2538 ADC controller |
cc2538 ADC and RNG | Register declarations for the cc2538 ADC and H/W RNG |
►cc2538 AES/SHA cryptoprocessor | Driver for the cc2538 AES/SHA cryptoprocessor |
►cc2538 AES | Driver for the cc2538 AES modes of the security core |
CC2538 AES-128 | AES-128 driver for the CC2538 SoC |
CC2538 AES-CCM | AES-CCM* driver for the CC2538 SoC |
cc2538 AES-CBC | Driver for the cc2538 AES-CBC mode of the security core |
cc2538 AES-CBC-MAC | Driver for the cc2538 AES-CBC-MAC mode of the security core |
cc2538 AES-CCM | Driver for the cc2538 AES-CCM mode of the security core |
cc2538 AES-CTR | Driver for the cc2538 AES-CTR mode of the security core |
cc2538 AES-ECB | Driver for the cc2538 AES-ECB mode of the security core |
cc2538 AES-GCM | Driver for the cc2538 AES-GCM mode of the security core |
cc2538 SHA-256 | Driver for the cc2538 SHA-256 mode of the security core |
cc2538 CPU | CPU-specific functions for the cc2538 core |
cc2538 Clock | Implementation of the clock module for the cc2538 |
cc2538 Coffee port module | Module for the cc2538 Coffee port |
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 | Driver for the cc2538 I/O Control Module |
cc2538 I2C Control | Cc2538 I2C Control Module |
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 Nested Vectored Interrupt Controller | Driver for the cc2538 NVIC controller |
►cc2538 PKA engine | Driver for the cc2538 PKA engine |
cc2538 BigNum math function driver | Driver for the cc2538 BigNum math functions of the PKC engine |
►cc2538 ECC driver | Driver for the cc2538 ECC mode of the PKC engine |
cc2538 ECC Algorithms | This is a implementation of ECDH, ECDSA sign and ECDSA verify |
cc2538 NIST curves | NIST curves for various key sizes |
cc2538 RF Core | Declarations of RF Core registers |
cc2538 RF Driver | Driver implementation for the cc2538 RF transceiver |
cc2538 ROM utility function library | Driver for the cc2538 ROM utility function library |
cc2538 Random Number Generator | Driver for the cc2538 Hardware Random Number Generator |
cc2538 Register Manipulation | Macros for hardware access, both direct and via the bit-band region |
cc2538 Sleep Timer and Watchdog | Register declarations for the cc2538 Sleep Timer and Watchdog |
cc2538 SoC | Driver for the cc2538 SoC |
cc2538 Synchronous Serial Interface | Driver for the cc2538 SPI peripheral |
cc2538 System Control (SysCtrl) | Driver for the cc2538 System Control Module |
cc2538 UART | Driver for the cc2538 UART controller |
cc2538 USB controller | Driver for the cc2538 USB controller |
cc2538 family of devices | Definitions for the cc2538 family of devices |
cc2538 flash memory | Definitions for the cc2538 flash memory |
cc2538 micro-DMA | Driver for the cc2538 uDMA controller |
cc2538 rtimer | Implementation of the rtimer module for the cc2538 |
cc2538 watchdog timer driver | Driver for the cc2538 Watchdog Timer |
►The TI SimpleLink CC13xx and CC26xx SoC | This group documents the TI CC13xx and CC26xx CPUs |
CC13xx/CC26xx GPIO HAL implementation | |
CC13xx/CC26xx IEEE Address Control | Driver for the retrieval of an IEEE address from flash |
CC13xx/CC26xx SPI HAL | |
CC13xx/CC26xx clock library | |
CC13xx/CC26xx master interrupt manipulation | Master interrupt manipulation routines for CC13xx/CC26xx |
CC13xx/CC26xx watchdog timer driver | Driver for the CC13xx/CC26xx Watchdog Timer |
Customer Configuration (CCFG) | |
Pseudo Random Number Generator (PRNG) for CC13xx/CC26xx. | Implementation based on Bob Jenkins' small noncryptographic PRNG |
RF settings for CC13xx/CC26xx | |
►RF specific files for CC13xx/CC26xx | |
CC13xx/CC26xx BLE Beacon Daemon | |
Driver for CC13xx/CC26xx BLE addresses | |
IEEE 802.15.4g Frequency Bands and Modes | |
IEEE-mode driver for CC13xx/CC26xx | |
Prop-mode driver for CC13xx/CC26xx | |
RF Scheduler for CC13xx/CC26xx | |
RF data queue for CC13xx/CC26xx | |
SLIP for CC13xx/CC26xx. | |
TX power functioanlity for CC13xx/CC26xx | |
The CC13xx/CC26xx rtimer | Implementation of the rtimer module for CC13xx/CC26xx |
True Random Number Generator for CC13xx/CC26xx. | |
UART for CC13xx/CC26xx. | This particular driver utilizes the UART0 peripheral specifically |
►nrf52832 SoC | |
Bluetooth Low Energy drivers | |
►Device drivers | |
Clock driver | |
Hardware random number generator | |
Low power mode functions | |
UART driver | |
Watchdog driver | |
▼Device Drivers | |
Button HAL | Hardware abstraction layer for user buttons |
►Disk device drivers | Documentation for all the disk device drivers |
►SD/MMC | SD/MMC device driver |
SD/MMC architecture-specific definitions | SD/MMC device driver architecture-specific definitions |
EEPROM API | The EEPROM API defines a common interface for EEPROM access on Contiki platforms |
GPIO Hardware Abstraction Layer | The GPIO HAL provides a set of common functions that can be used in a platform-independent fashion |
Generic RGB LED driver | This is a driver for a tri-color RGB LED part, such as for example the Broadcom (ex Avago Technologies) PLCC-4 Tricolor Black Surface LED present on all Zolertia Zoul-based boards |
Generic external SPI flash driver | This is a generic driver for external SPI flash memories |
LED Hardware Abstraction Layer | The LED HAL provides a set of functions that can manipulate LEDS |
Radio API | The radio API module defines a set of functions that a radio device driver must implement |
SPI Hardware Abstraction Layer | The SPI HAL provides a set of common functions that can be used in a platform-independent fashion |
▼Platforms | |
COOJA network simulator node | |
Native platform | Platform running in the host (Windows or Linux) environment |
►TI CC2538-powered platforms | Documentation for all platforms powered by the TI cc2538 System-on-Chip |
►OpenMote-CC2538 platform | The OpenMote-CC2538 is based on the CC2538, the new platform by Texas Instruments based on an ARM Cortex-M3 core and a IEEE 802.15.4 radio |
OpenMote-CC2538 antenna switch | Driver for the OpenMote-CC2538 antenna switch |
OpenMote-CC2538 platform | The OpenMote-CC2538 platform was designed at UC Berkeley in 2013 and is comercialized by OpenMote Technologies since 2014 |
►OpenMote-CC2538 sensors | Generic module controlling sensors on the OpenMote-CC2538 platform |
ADXL346 acceleration sensor | |
MAX4009 light sensor | |
SHT21 sensor | |
OpenMote-CC2538 user button | Generic module controlling the user button on the OpenMote-CC2538 |
TPS62730 voltage regulator | Driver for the TPS62730 voltage regulator, to enable power from the battery voltage (bypass, Vout=Vin, Iq < 1uA) or through the buck regulator (on, Vout=2.1V, Iq = 30uA) |
►The cc2538 Development Kit platform | The cc2538DK is a platform by Texas Instruments, based on the cc2538 SoC with an ARM Cortex-M3 core |
►SmartRF06EB Peripherals | Defines related to the SmartRF06EB |
SmartRF06EB Buttons | Generic module controlling buttons on the SmartRF06EB |
►SmartRF06EB Sensors | Generic module controlling sensors on the SmartRF06EB |
cc2538dk ALS Driver | Driver for the SmartRF06EB ALS sensor |
►Zolertia Zoul-based platforms | |
►Zolertia Zoul core module | The Zoul comprises the CC2538SF53 and CC1200 in a single module format, which allows a fast reuse of its core components in different formats and form-factors |
RE-Mote Antenna switch | Driver for the RE-Mote RF antenna switch, to enable either the internal ceramic antenna or an external one connected to the uFL connector |
RE-Mote FatFs | Default port of FatFs on RE-Mote |
RE-Mote Real Time Clock Calendar | Driver for the RE-Mote on-board ultra-low power RTCC (Real Time Clock Calendar) |
SD/MMC architecture-specific definitions | SD/MMC device driver architecture-specific definitions |
Zoul CC1200 arch | CC1200 Zoul arch specifics |
►Zoul Sensors | Generic module controlling sensors on the Zoul platform |
AC light dimmer with zero-crossing driver | Driver for an AC light dimmer with zero-crossing driver |
Analog PM10 sensor | |
BMP085/BMP180 Sensor | Driver for the BMP085/BMP180 sensor |
DHT22 temperature and humidity sensor | Driver for the DHT22 temperature and humidity sensor |
Digital motion sensor | |
Generic relay driver | Driver for a generic relay driver |
Generic servo driver | Driver for a Generic Servo actuator |
Grove 3-axis gyroscope based on ITG-3200 | |
Grove LCD with RGB backlight | |
IAQ driver (Indoor Air Quality) Sensor Module | IAQ driver RE-Mote Indoor Air Quality Sensor Module Driver for the RE-Mote Sensor pack: Air Quality Sensor Module (IAQ) |
LED strip compatible with Zoul-based platforms | Driver to control a bright LED strip powered at 3VDC, drawing power directly from the battery power supply |
MP3 WTV020SD driver compatible with Zoul-based | Platforms |
SHT25 digital temperature sensor | |
Sparkfun's weather meter | The Sparkfun's weather meter comprises an anemometer, wind vane and rain gauge, see https://www.sparkfun.com/products/8942 |
TMP102 Sensor | Driver for the TMP102 sensor |
TSL256X Sensor | Driver for the TSL256X sensor |
Zonik sound sensor | Driver for the RE-Mote Zonik sonometer board |
Zoul Generic ADC interface | Driver for the Zoul ADC interface |
Zoul adc wrapper to use analogue sensors | The ADC wrapper implement analogue sensors on top of the ADC interface, obscuring the ADC configuration and required calculations to obtain actual sensor values |
Zoul user button | Generic module controlling the user button on the Zoul |
Zoul-bme280-sensor | |
►Zolertia Zoul platforms | The Zoul allows a fast reuse and easy integration to most applications and products |
Firefly platform | The Zolertia Firefly is the most down-to-core development platform, exposing the Zoul core functionalities and features, with a slick design to allow a flexible and easier user experience |
►RE-Mote platform revision A | The RE-Mote was designed jointly with universities and industry partners in RERUM European project, to ease the development of private and secure applications for IoT and Smart City applications |
RE-Mote power management driver | The power management module is composed by a nano-watt (gating) timer and an ultra-low power MCU, driving the RE-Mote power supply when connected to an external battery, and allowing an application to enter a so-called "shutdown
mode" |
►RE-Mote platform revision B | The RE-Mote was designed jointly with universities and industry partners in RERUM European project, to ease the development of private and secure applications for IoT and Smart City applications |
RE-Mote power management driver | Driver control the power management of the RE-Mote rev B platform |
►Zolertia IoT Orion Ethernet Router | The Zolertia Orion Router includes an Ethernet ENC28J60 controller with active POE (power over ethernet), operating over IPv4/IP64 |
Zolertia ENC28J60 GPIO arch | ENC28J60 eth-gw GPIO arch specifics |
Zolertia ENC28J60 SPI arch | ENC28J60 eth-gw SPI arch specifics |
►TI CC26xx-powered platforms | |
►SmartRF+CC13xx/CC26xx EM, SensorTags and LaunchPads | This platform supports a number of different boards: |
CC1350 Sensortag Peripherals | Defines related to the CC1350 Sensortag |
CC2650 Sensortag Peripherals | Defines related to the CC2650 Sensortag |
►LaunchPad peripherals | Defines related to configuring LaunchPad peripherals |
CC1310 LaunchPad Peripherals | Defines related to the CC1310 LaunchPad |
CC1350 LaunchPad Peripherals | Defines related to the CC1350 LaunchPad |
CC2640R2 LaunchPad Peripherals | Defines related to the CC2640R2 LaunchPad |
CC2650 LaunchPad Peripherals | Defines related to the CC2650 LaunchPad |
Peripherals for the SmartRF06EB + CC1310EM | Defines related to the SmartRF06 Evaluation Board with a CC1310EM |
Peripherals for the SmartRF06EB + CC26xxEM | Defines related to the SmartRF06 Evaluation Board with a CC26xxEM |
►Sensortag CC1350/CC2650 common | Defines related to Sensortag sensors |
SensorTag 2.0 Buzzer | |
SensorTag 2.0 I2C functions | |
SensorTag 2.0 IR thermophile sensor | Due to the time required for the sensor to startup, this driver is meant to be used in an asynchronous fashion |
SensorTag 2.0 Light Sensor | Due to the time required for the sensor to startup, this driver is meant to be used in an asynchronous fashion |
SensorTag 2.0 Motion Processing Unit | Driver for the Invensense MPU9250 Motion Processing Unit |
SensorTag 2.0 Pressure Sensor | Due to the time required for the sensor to startup, this driver is meant to be used in an asynchronous fashion |
SensorTag 2.0 Sensors | |
SensorTag 2.0 TI HDC1000 Sensor | Due to the time required for the sensor to startup, this driver is meant to be used in an asynchronous fashion |
SmartRF06EB + CC13xx/CC26xx common | Defines related to the SmartRF06 Evaluation Board irrespective of the EM mounted on it |
►TI SimpleLink CC13xx/CC26xx platform | |
CC13xx/CC26xx Battery Monitor sensor driver. | Driver for the on-chip battery voltage and chip temperature sensor |
►LaunchPad peripherals | Defines related to configuring LaunchPad peripherals |
CC1310 LaunchPad Peripherals | Defines related to the CC1310 LaunchPad |
CC1350 LaunchPad Peripherals | Defines related to the CC1350 LaunchPad |
CC2640R2 LaunchPad Peripherals | Defines related to the CC2640R2 LaunchPad |
CC2650 LaunchPad Peripherals | Defines related to the CC2650 LaunchPad |
►Sensortag peripherals | Defines related to configuring SensorTag peripherals |
SensorTag Buzzer | |
SensorTag HDC1000 - Temperature and | Humidity Sensor |
SensorTag IR Thermophile sensor | Due to the time required for the sensor to startup, this driver is
meant to be used in an asynchronous fashion. |
SensorTag Motion Processing Unit | Driver for the Invensense MPU-9250 Motion Processing Unit. |
SensorTag Optical Sensor | Due to the time required for the sensor to startup, this driver is
meant to be used in an asynchronous fashion. |
SensorTag Pressure Sensor | Due to the time required for the sensor to startup, this driver is meant to be used in an asynchronous fashion |
SmartRF06 Evaluation Board peripherals | Defines related to configuring SmartRF06 EB's peripherals. |
The JN516x Board | |
The Tmote Sky board | The Tmote Sky platform is a wireless sensor board from Moteiv |
►nRF52 Development Kit | |
Contiki configuration | |
►Device drivers | |
Buttons driver | |
LED driver | |
Sensors | The nRF52 DK exports 4 button sensors and an internal temperature sensor |
Temperature sensor driver | This is a driver for nRF52832 hardware sensor |
Platform configuration | |
nRF52 SDK configuration | |
▼IoT networking | The communication protocols |
▼Application-layer protocols and profiles | |
►An implementation of CoAP | This is an implementation of the Constrained Application Protocol |
CoAP keystore API | The CoAP keystore API defines a common interface for retrieving authorization information for CoAP/DTLS |
►CoAP timer API | The CoAP timer API defines a common interface for CoAP timer and time functionality |
CoAP timer for Contiki-NG | This is an implementation of CoAP timer for Contiki-NG |
►CoAP transport API | The CoAP transport API defines a common interface for sending/receiving CoAP messages |
CoAP transport implementation for uIP | This is an implementation of CoAP transport and CoAP endpoint over uIP with DTLS support |
An implementation of IPSO Objects | This is an implementation of IPSO Objects for OMA LWM2M |
An implementation of LWM2M | This is an implementation of OMA Lightweight M2M (LWM2M) |
An implementation of MQTT v3.1 | This application is an engine for MQTT v3.1 |
▼Link layer | Link-layer protocols and services |
6TiSCH Operation Sublayer (6top) | |
802.15.4 TSCH | The IEEE 802.15.4-2015 TimeSlotted Channel Hopping (TSCH) protocol |
802.15.4 frame creation and parsing | |
Link-layer addresses | The linkaddr module handles link-layer addresses |
Link-layer security common functionality | Macros related to 802.15.4 link-layer security |
▼Network layer | Network-layer protocols and services |
Nullnet | A network layer that does nothing |
RPL-lite | RPL-lite is a lightweight implementation of RPL tailored for reliability |
►uIP: the IPv6 stack | The low-power IPv6 stack |
A simple UDP API | The default Contiki UDP API is difficult to use |
Architecture specific uIP functions | The functions in the architecture specific module implement the IP check sum and 32-bit additions |
►Configuration options for uIP | UIP is configured using the per-project configuration file "uipopt.h" |
6lowpan options (for ipv6) | |
ARP configuration options | |
Application specific configurations | An uIP application is implemented using a single application function that is called by uIP whenever a TCP/IP event occurs |
CPU architecture configuration | The CPU architecture configuration is where the endianess of the CPU on which uIP is to be run is specified |
General configuration options | |
IP configuration options | |
IPv6 configuration options | |
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 |
TCP configuration options | The name of the function that should be called when UDP datagrams arrive |
UDP configuration options | |
layer 2 options (for ipv6) | |
►IPv6 Multicast Forwarding | We currently support 2 engines: |
'Stateless Multicast RPL Forwarding' (SMRF) | SMRF will only work in RPL networks in MOP 3 "Storing with Multicast" |
ROLL Trickle Multicast | IPv6 multicast according to the algorithm in the "MCAST Forwarding Using Trickle" internet draft |
Protosockets library | The protosocket library provides an interface to the uIP stack that is similar to the traditional BSD socket interface |
Sicslowpan | |
The Contiki/uIP interface | TCP/IP support in Contiki is implemented using the uIP TCP/IP stack |
Variables used in uIP device drivers | UIP has a few global variables that are used in device drivers for uIP |
uIP address manipulation library | A library with various IP address manipulation functions |
uIP application functions | Functions used by an application running on top of uIP |
uIP configuration functions | The uIP configuration functions are used for setting run-time parameters in uIP such as IP addresses |
uIP conversion functions | These functions can be used for converting between different data formats used by uIP |
uIP device driver functions | These functions are used by a network device driver for interacting with uIP |
uIP hostname resolver functions | The uIP DNS resolver functions are used to lookup a hostname and map it to a numerical IP address |
uIP initialization functions | The uIP initialization functions are used for booting uIP |
Packet buffer | The packetbuf module does Contiki's buffer management |
Packet buffer queue | The queuebuf module handles buffers that are queued |
Launchpad-cc26xx-peripherals | |
▼Libraries and services | A set of libraries and services used by the os and applications |
CRC16 calculation | The Cyclic Redundancy Check 16 is a hash function that produces a checksum that is used to detect errors in transmissions |
▼Data structures | |
Circular, doubly-linked list | This library provides functions for the creation and manipulation of circular, doubly-linked lists |
Circular, singly-linked list | This library provides functions for the creation and manipulation of circular, singly-linked lists |
Doubly-linked list | This library provides functions for the creation and manipulation of doubly-linked lists |
Linked list library | The linked list library provides a set of functions for manipulating linked lists |
Queue library | This library provides functions for the creation and manipulation of queues |
Ring buffer library | The ring buffer library implements ring (circular) buffer where bytes can be read and written independently |
Stack library | This library provides functions for the creation and manipulation of stacks |
Generic Newlib customizations | Library providing generic implementations of Newlib features for Contiki |
▼Memory functions | |
heapmem: Dynamic heap memory allocator | The heapmem module is a dynamic heap memory allocator similar to malloc() in standard C |
memb: 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 |
Portable debugging output functons | |
Shell | The shell enables to inspect and manage the network layer and provides other system functionalities |
Trickle timers | This library implements timers which behave in accordance with RFC 6206 "The Trickle Algorithm" (http://tools.ietf.org/html/rfc6206) |
Node-id | |
Null-routing | |
Oma-lwm2m | |
Simple-energest | |
▼System functions | Core system components such as processes and timers |
CPU/Compiler memory barriers | API for CPU/Compiler memory barriers |
Communication power accounting | The compower module accumulates power consumption information and attributes it to communication activities |
Critical sections | Platform-independent functions for critical section entry and exit |
Master interrupt manipulation | These functions can be used to manipulate the master interrupt in a platform-independent fashion |
Mutexes | This library provides an API and generic implementation of mutexes |
Per-module, per-level logging | The log module performs per-module, per-level logging |
Stack checker library | Basic support for stack guards and stack overflow detection |
The Contiki file system interface | The Contiki file system interface (CFS) defines an abstract API for reading directories and for reading and writing files |
The Contiki-NG main function | A platform-independent main function |
▼Threads and processes | This module contains protothreads, multithreading and processes |
Contiki processes | A process in Contiki consists of a single protothread |
Contiki subprocesses | A Contiki subprocess is a "process-in-a-process" |
►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 |
Real-time task scheduling | The real-time module handles the scheduling and execution of real-time tasks (with predictable execution times) |
▼Timers | This module contains all different timers and clocks in Contiki-NG |
Callback timer | The ctimer module provides a timer mechanism that calls a specified C function when a ctimer expires |
Clock library | The clock library is the interface between Contiki and the platform specific clock functionality |
Event timers | Event timers provides a way to generate timed events |
Seconds timer library | The stimer library provides functions for setting, resetting and restarting timers, and for checking if a timer has expired |
Timer library | The timer library provides functions for setting, resetting and restarting timers, and for checking if a timer has expired |