Simba OS Framework

Hello,

recently a new framework was added to PlatformIO. It’s called Simba! Simba is a small OS that was initially developed for various Arduino AVR boards, and was later ported to Arduino Due (ARM) and last week to ESP8266.

If you’re intrested in using an OS with threads, channels, timers, events, adc, spi, uart and other useful functionality, give it a try! The blink example can be found on Github.

Links to various Simba related documentation and example projects:

/ Erik
Simba developer

2 Likes

Hello guys,

a new release of Simba is now part of platformIO, 0.6.0. Just select simba as framework in your platformio.ini and start using it.

Changes include:

  • Preemptive scheduler for AVR and ARM.
  • Arduino IDE build system.
  • New modules: json, re, i2c
  • Assertions of input arguments.
  • Print assertion condition and optional message on error.

See the documentation and source code for help and examples.

Feel free to comment the code if you have anything you want to change or are just happy about what is looks like. Would be much appreciated =)

Enjoy folks =)

1 Like

Hi Simba users!

I recently uploaded a new release of Simba, 10.0.0!

As usual a bunch of features and bug fixes has been implemented. The main changes are in the ESP8266 WiFi configuration and socket module. In the old implementation the ESP8266 WiFi was implemented as a network interface module and it was not very intuitive to use. The ESP8266 WiFi is now implemented as a driver in the drivers package and a wifi network interface is put on top of that. The driver can be used without a network interface. I like the new implementation a lot better!

In previous releases I’ve been the only developer of the Simba platform. In this release we have been 3! That’s great news! Let’s continue to make Simba the best Embedded Programming Platform out there =)

New features and changes:

  • Input polling of sockets.
  • ESP network configuration moved to drivers package and a new WiFi network interaface was added. This is a non-backwards compatile change, sorry.
  • Print to stdout instead of stderr on Linux.

Bug fixes:

  • Socket module can send and receive big packets.
  • ADC channels 8-15 on Arduino Mega.

Documentation: Welcome to Simba’s documentation! — Simba master documentation
Project page: GitHub - eerimoq/simba: Simba Embedded Programming Platform.

1 Like

New release, 13.0.1!

A new release has been created with a lot of new functionality and a few bug fixes.

GitHub: GitHub - eerimoq/simba at 13.0.1
Documentation: Welcome to Simba’s documentation! — Simba 13.0.1 documentation

Changes

  • Added HTTPS server.
  • Added SSL client side.
  • Filesystem write commad with paste mode (drops data if UART RX buffer is too small).
  • ESP32 UART refactoring.
  • Less chatty Emacs protocol.
  • Added a TFTP server.
  • Added the upgrade module (HTTP, TFTP and Kermit protocols).
  • Added a signal analyzer example application.
  • Added board SPC56D-Discovery.

Bug fixes

  • HTTP server buffer overflow on big requests.

Enjoy!

1 Like

Could you take a look at https://travis-ci.org/platformio/platform-espressif32/jobs/203387404 ?

Probably this enabled warning that breaks the build: https://github.com/platformio/platform-espressif32/blob/feature/new-espidf-builder/builder/main.py#L47