The official git repository for OSD-Contiki, the open source OS for the Internet of Things
Go to file
adamdunkels 412facb831 This is an initial commit of an implementation of the Chameleon
architecture for the Rime stack for Contiki. The Chameleon
architecture separates the header processing from the Rime protocol
logic. Instead of having each protocol create its own part of the
packet header, protocols use packet attributes. Before sending a
packet, a special Chameleon header processing module creates a packet
header from the packet attributes. The same Chameleon module parses
incoming packets and creates packet attributes from the header.

The details are in our SenSys 2007 paper:

Adam Dunkels, Fredrik Osterlind, Zhitao He. An Adaptive Communication
Architecture for Wireless Sensor Networks. In Proceedings of the Fifth
ACM Conference on Networked Embedded Sensor Systems (SenSys 2007),
Sydney, Australia, November 2007.

http://www.sics.se/~adam/dunkels07adaptive.pdf

This is a rewrite of the code that was developed for the paper.
2008-02-25 02:14:34 +00:00
apps Changed all sprintf() calls to snprintf() to make it useful for systems with very low buffer size 2008-02-24 20:59:51 +00:00
backyard Moved old CC2420 driver to the backyard 2008-02-24 22:29:08 +00:00
core This is an initial commit of an implementation of the Chameleon 2008-02-25 02:14:34 +00:00
cpu Added naive snprintf support. 2008-02-16 08:56:29 +00:00
doc Changed names of the Rime examples from test-* to example-* and added examples for ruc and uc 2008-01-25 18:00:50 +00:00
examples Added simple-cc2420 include, added argument to mac->off() 2008-02-24 22:27:41 +00:00
platform This is an initial commit of an implementation of the Chameleon 2008-02-25 02:14:34 +00:00
tools Decrease TTL for forwarded packets 2008-02-24 21:14:25 +00:00
Makefile.include Factored out the time table keeping code from the profiling code and placed it in a separate 'timetable' module, that may be uesd on its own. 2008-01-17 12:19:25 +00:00
README README 2007-03-29 23:42:18 +00:00
README-BUILDING Language fix 2007-03-30 08:17:47 +00:00
README-EXAMPLES Introduced web browser as new example using ctk fullscreen mode. 2007-12-15 22:36:50 +00:00

Contiki is an open source, highly portable, multi-tasking operating
system for memory-constrained networked embedded systems written by
Adam Dunkels at the Networked Embedded Systems group at the Swedish
Institute of Computer Science.

Contiki is designed for embedded systems with small amounts of
memory. A typical Contiki configuration is 2 kilobytes of RAM and 40
kilobytes of ROM. Contiki consists of an event-driven kernel on top of
which application programs are dynamically loaded and unloaded at
runtime. Contiki processes use light-weight protothreads that provide
a linear, thread-like programming style on top of the event-driven
kernel. Contiki also supports per-process optional preemptive
multi-threading, interprocess communication using message passing
through events, as well as an optional GUI subsystem with either
direct graphic support for locally connected terminals or networked
virtual display with VNC or over Telnet.

Contiki contains two communication stacks: uIP and Rime. uIP is a
small RFC-compliant TCP/IP stack that makes it possible for Contiki to
communicate over the Internet. Rime is a lightweight communication
stack designed for low-power radios. Rime provides a wide range of
communication primitives, from best-effort local area broadcast, to
reliable multi-hop bulk data flooding.

Contiki runs on a variety of platform ranging from embedded
microcontrollers such as the MSP430 and the AVR to old
homecomputers. Code footprint is on the order of kilobytes and memory
usage can be configured to be as low as tens of bytes.

Contiki is written in the C programming language and is freely
available as open source under a BSD-style license. More information
about Contiki can be found at the Contiki home page:
http://www.sics.se/contiki/