The Contiki-NG repository is structured as follows:
os: Contains the actual Contiki-NG code. Includes the systems primitives such as processes and timers, the networking stack, and all libraries and services. All examples also compile and link to
os. See doc:contiki-ng for more information.
arch: Contains all hardware-dependent code. This includes CPU, device and platform drivers. A list of supported platforms can be found under
arch/platformsand its sub-directories. This is where to put your code if you are porting Contiki-NG to your own platform. Current platforms are documented at doc:platforms.
examples: Contains ready-to-use example projects. Shows how to use networking, libraries and storage services. Includes a RPL border router, the slip-radio interface etc. To write your own application, start from one of the examples and follow our tutorials at doc:tutorials.
tools: Contains tools, which are not to be included in a Contiki-NG firmware, but rather intended to run on a computer. Includes flashing tools, the Cooja simulator (as a submodule), Docker and Vagrant scripts, and more.
tests: Contains all continuous integration tests. These run in Travis for every pull request and merge, to ensure non-regression.