OpenSwarm  0.16.1.2
An operating system for miniature robots
Modules
Here is a list of all modules:
[detail level 12]
 KernelOpenSwarm provides functions to start and initialise the operating system; allocate, free and copy memory; and create and end atomic sections
 Event ManagementEvents are the main information exchange method in OpenSwarm. Events can be emitted, created, and (un)registered. Functions to handle events can also (un)subscribed to certain events. It can be used to synchronise and communicate with processes, to implement asynchronous programming model, and process incoming data/signals
 I/O ManagementI/O Management controls the input (e.g. sensors or camera), output (e.g. motors), and communication (e.g. UART, CAN, Bluetooth, ...) devices. For robots, I/O devices are important to interact with its environment, which is the main purpose in robotics. Consequently, this module provides functions and mechanisms to use these I/O devices
 Camera ModuleThe camera module is used to retrieve raw camera data, process the incoming frames, and emits the result as events
 I2C interfaceFunctions to read from and write on the I2C interface
 Motor ControlFunctions to control the two stepper motors of the e-puck
 Remote ControlFunctions to receive data from a remote control
 UART 1&2Functions to control the message flow of the UART interface
 ShefpuckExternal set of functions to assist the programming of the e-Puck
 e-puck specific modulesModules and functions that are needed to use the e-puck platform ( http://www.gctronic.com/doc/index.php/E-Puck )
 Camera ModuleThe camera module is used to retrieve raw camera data, process the incoming frames, and emits the result as events
 I2C interfaceFunctions to read from and write on the I2C interface
 Motor ControlFunctions to control the two stepper motors of the e-puck
 Remote ControlFunctions to receive data from a remote control
 UART 1&2Functions to control the message flow of the UART interface
 Process ManagementFunctions to create, switch, block, yield, and terminate processes and start critical sections