▼Gecko | |
►Device drivers | |
GPIO HAL driver | |
UART driver | |
Watchdog driver | |
►OS drivers | |
Debug driver | |
Random driver | |
►Storage drivers | |
Storage CFS coffee driver | |
►System drivers | |
Clock driver | |
Link Address driver | |
Master interrupt driver | |
Rtimer driver | |
efr32mg12p332f1024gl125 OPN | |
▼Gecko-platforms | |
Brd4162a | |
Brd4166a | |
▼Hardware support | CPU, device drivers, and platform code |
►CPUs | |
►Support for Arm CPUs | Arm Cortex-M implementation of atomic operations using the LDREX, STREX and DMB instructions |
Arm Cortex-M3 | |
Arm Cortex-M33 | |
Arm Cortex-M4 | |
►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 |
CC26x0/CC13x0 AES-128 | AES-128 driver for the CC26x0/CC13x0 SoC |
Customer Configuration (CCFG) | |
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 I2C HAL | |
CC13xx/CC26xx IEEE Address Control | Driver for the retrieval of an IEEE address from flash |
CC13xx/CC26xx SPI HAL | |
CC13xx/CC26xx clock implementation | |
CC13xx/CC26xx master interrupt manipulation | Master interrupt manipulation routines for CC13xx/CC26xx |
CC13xx/CC26xx watchdog timer driver. | |
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 | |
Generic radio mode API | |
IEEE 802.15.4g Frequency Bands and Modes | |
IEEE-mode driver for CC13xx/CC26xx | |
Prop-mode driver for CC13xx/CC26xx | |
RAT (Radio Timer) handling 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 |
►The nRF52840 System-on-Chip | This group documents the Nordic Semiconductor nRF52840 CPU |
►Device drivers | |
Clock driver | |
Hardware random number generator | |
Low power mode functions | |
UART driver | |
Watchdog driver | |
nRF52840 GPIO HAL implementation | |
nRF52840 IEEE mode driver | |
nRF52840 USB driver | |
►The nRF5340 and nRF52840 SoCs (using nRF MDK) | |
►ARM Handler | |
Hardfault Handler | |
►Device drivers | |
GPIO HAL driver | |
UARTE driver | |
USB driver |
|
Watchdog driver | |
►Net drivers | |
IEEE radio driver | |
►OS drivers | |
Debug driver | |
Random driver | |
Temperature driver | |
►System drivers | |
Clock driver | |
Link Address driver | |
Master interrupt driver | |
Reset driver | |
Rtimer driver | |
nRF52840 | |
nRF5340 Application Core | |
nRF5340 Network Core | |
►Device Drivers | |
Button HAL | Hardware abstraction layer for user buttons |
DHT 11 Sensor driver | |
►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 |
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 |
XMem API | The Xmem API module contains functionality to use external flash memories of NOR or NAND type |
►Platforms | |
COOJA network simulator node | |
Native platform | Platform running in the host (Windows or Linux) environment |
►Nordic Semiconductor nRF-powered platforms (using nRF MDK) | |
nRF52840 Development Kit (using nRF MDK) | |
nRF52840 Dongle (using nRF MDK) | |
nRF5340 Development Kit (using nRF MDK) | |
►Nordic Semiconductor nRF52840-powered platforms | |
►All nRF52840 platforms | |
►Device drivers | |
Temperature sensor driver | This is a driver for nRF52840 hardware sensor |
►nRF52840 Development Kit | |
►Device drivers | |
Buttons driver | |
LED driver | |
Sensors | The nRF52 DK exports 4 button sensors and an internal temperature sensor |
Platform configuration | |
►nRF52840 Dongle | |
►Device drivers | |
Buttons driver | |
LED driver | |
Sensors | The nRF52 DK exports 4 button sensors and an internal temperature sensor |
Platform configuration | |
►TI CC2538-powered platforms | Documentation for all platforms powered by the TI cc2538 System-on-Chip |
►Openmote-based platform | The OpenMote platform is based on the CC2538 by Texas Instruments based on an ARM Cortex-M3 core and a IEEE 802.15.4 radio |
►OpenMote boards | |
►OpenMote-B | OpenMote-B is a new board by OpenMote Technologies, released in 2018 |
OpenMote-B user button | Generic module controlling the user button on the OpenMote-B |
►OpenMote-CC2538 | The OpenMote-CC2538 board was designed at UC Berkeley in 2013 and is comercialized by OpenMote Technologies since 2014 |
OpenMote-CC2538 antenna switch | Driver for the OpenMote-CC2538 antenna switch |
►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 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 | The order of which these header files are included is important in order for the configurations to be correctly set |
CC13xx/CC26xx Battery Monitor sensor driver. | Driver for the on-chip battery voltage and chip temperature sensor |
►LaunchPad peripherals | Defines related to 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 |
CC1350 SensorTag peripherals | This group documents components specific to this SensorTag |
CC2650 SensorTag peripherals | This group documents components specific to this SensorTag |
LPSTK peripherals | This group documents components specific to this SensorTag |
SensorTag Buzzer | |
SensorTag HDC1000 - Temperature and | Humidity Sensor |
SensorTag IR Thermophile sensor | |
SensorTag Motion Processing Unit | |
SensorTag Optical Sensor | |
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 | |
The Tmote Sky board | The Tmote Sky platform is a wireless sensor board from Moteiv |
▼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 |
►An implementation of SNMP | This is an implementation of the Simple Network Management Protocol |
►SNMP Internal API | This group contains all the functions that can be used inside the OS level |
SNMP BER | This group contains the BER implementation |
SNMP Configurable | This group contains all the defines that can be configurable following the Contiki standard |
SNMP Core | This group contains the SNMP MIB implementation |
SNMP Engine | This group contains the Engine implementation |
SNMP MIB | This group contains the MIB implementation |
SNMP Message | This group contains the Message implementation |
SNMP Public API | This group contains all the functions that can be used outside the OS level |
►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 | |
Implementation of the 802.15.4 standard CSMA protocol | |
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 |
An API for routing | |
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 | |
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" |
Multicast Protocol for Low Power and Lossy Networks | IPv6 multicast according to the algorithm in RFC7731 |
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 |
▼Libraries and services | A set of libraries and services used by Contiki-NG and applications |
A module to handle Node IDs and MAC addresses in deployments | |
CRC16 calculation | The Cyclic Redundancy Check 16 is a hash function that produces a checksum that is used to detect errors in transmissions |
Contiki-NG interactive management shell | The shell enables to inspect and manage the network layer and provides other system functionalities |
Cryptographically-secure PRNG | Expands a truly random seed into a stream of pseudo-random numbers |
►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 | |
The Simple Energest module | |
Trickle timers | This library implements timers which behave in accordance with RFC 6206 "The Trickle Algorithm" (http://tools.ietf.org/html/rfc6206) |
▼System functions | Core system components such as processes and timers |
Atomic operations | This library provides an API and generic implementation of atomic operations |
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 |
Node ID management | |
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 |