/*!
\if DEVELOPER_NOTE_ON
This document is automatically processed by Doxygen (http://www.doxygen.org/).
Don't remove special formatting tags.
This section won't be processed unless enabled.
Doxygen supports a LaTeX-like syntax to write documentation; use that syntax to make changes to this file.
You can find a reference here: http://www.stack.nl/~dimitri/doxygen/manual.html, inside the section 'Special commands'.
For tables, use ONLY the html formatting tags that you can find in the previous page in the section 'HTML commands'. This way
we'll always be able to generate valid documentation for every language supported by Doxygen.
Remember to use Doxygen tags sparingly inside source code.
\endif
\page dev_status BeRTOS Development Status
If you are looking for the list of BeRTOS ports or a detailed overview of all modules completeness and stability this is the right place.
BeRTOS is quite stable (it is used in production environments) but it is also a very large project, so all of its parts may not be at the same level.
Table of contents:
\li \ref kernel
\li \ref compilers
\li \ref core_drivers
\li \ref internal_peripherals
\li \ref independant_drivers
\li \ref emulator
\li \ref algorithms
\li \ref graphics
\li \ref networking
\li \ref fs
\li \ref data_structures
\li \ref mware
\section kernel Kernel
BeRTOS features a cooperative kernel with synchronization primitives.
Embedded systems are mostly I/O bound systems. In these systems the microprocessor/microcontroller spends the most part of its computing power doing... absolutely nothing :-)
Since the system simply waits for external events to happen we decided to implement a strong and robust cooperative kernel with very low memory footprint and high modularity. This allows the kernel to be used on a variety of different CPUs, even the smaller ones.
Currently the kernel code is very stable.
Kernel features :
\li \link coop.c Cooperative \endlink round-robin scheduling.
\li \link monitor.h Stack process monitor \endlink, useful to prevent stack overflows.
\li \link msg.h Inter-process messaging system \endlink (with very low overhead).
\li \link sem.h Binary semaphores \endlink.
\li \link signal.c Signals \endlink.
We have plans to add, as soon as possible, a preemptive scheduler , browse kernel source code to see the latest additions.
The kernel has a port layer (a single assembly function) that needs to be reimplemented each time a new CPU is added.
Here is a list of currently available CPU family ports:
Driver | Status |
\link adc.h ADC API \endlink | stable |
\link buzzer.h Buzzer \endlink | stable |
\link dataflash.h Atmel Dataflash \endlink | stable |
\link eeprom.h I2C EEPROM \endlink | stable |
\link flash25.h AT25Fxxx Atmel flash memories \endlink | beta |
\link ft245rl.h FT245RL USB to parallel converter \endlink | beta |
\link kbd.h Keyboard \endlink | stable |
\link i2c.h I2C \endlink with bitbang support | stable |
Displaytech 32122A Graphic LCD | stable |
\link dc_motor.h DC Motor with PID \endlink | stable |
\link lcd_text.h Alphanumeric LCD \endlink | stable |
\link mcp41.h MPC41 digital potentiometer \endlink | stable |
\link ntc.h NTC \endlink | stable |
\link phase.h TRIAC phase partialization \endlink | stable |
\link pwm.h PWM API \endlink | beta |
\link pcf8574.h PCF85974 I2C port expander \endlink | beta |
\link ser.h Serial API \endlink | stable |
\link spi_bitbang.h Bitbanged SPI \endlink | stable |
\link tc520.h TC520 ADC \endlink | obsolete |
\link thermo.h Thermostat \endlink | stable |
\link timer.h System timer API \endlink | stable |
\link stepper.h Stepper motor with ramps \endlink | stable |
Watchdog | beta |
To get up to date informations look at the