Welcome to Simba’s documentation!¶
Simba is an Embedded Programming Platform. It aims to make embedded programming easy and portable.
Simba is written in C.
Project homepage: https://github.com/eerimoq/simba
Videos¶
Transmit CAN frames between a Nano32 and an Arduino Due. More videos are available on the Videos page.
Features¶
- Threads scheduled by a priority based cooperative or preemptive scheduler.
- Channels for inter-thread communication (Queue, Event).
- Timers.
- Counting semaphores.
- Device drivers (SPI, UART, …)
- A simple shell.
- Logging.
- Internet protocols (TCP, UDP, HTTP, …).
- Debug file system.
- File systems (FAT16, SPIFFS).
See the Library Reference for a full list of features.
Testing¶
To ensure high code quility each module is tested extensively by many test suites. See Testing for details.
Design goals¶
- Rapid development.
- Clean interfaces.
- Small memory footprint.
- No dynamic memory allocation.
- Portability.