Core coding

I recently started to rewrite the ELL-i runtime from scratch. The old runtime had grown organically for a about year, gaining support for most of the Arduino APIs, most of Contiki, and finally a scouts-honour threading system, allowing the Arduino and Contiki environments to run in parallel. Unfortunately, the code had also started to rot, mainly since I hadn’t understood what I was doing when I had started and because I had written parts of the code in too much hurry. In the end, adding even simple features — for demo purposes — was a constant battle against running out of RAM or Flash, or the code not working for some other obscure reason.

Hence, it looked like a perfect time for rewriting everything, and this time properly. So, in the beginning of November I started from a completely clean slate. I started with an empty repository, https://github.com/ell-i/Runtime (note the name may still change), starting with making the compiler to work with the Arduino IDE, without any real source code, yet. Then I added low-level initialisation code from ST and CMSIS from ARM, only to later rewrite parts of the initialisation code. A next step was to write an utterly simple hardware emulator, using C++ objects to model peripherals, allowing the code to run also on the host, printing out all interactions with the hardware. With that, the system was ready to boot, but not able to do anything, yet.

So, at this moment, the code boots and includes partial support for GPIO, which is a good start. The system part of the code is Clean C, compiling with both gcc and g++, with the intention of gradually moving over to LLVM. The work continues with adding a rudimentary test suite using the Robot Framework; thereafter we will start adding back the currently missing Arduino and Contiki APIs, slowly and carefully.

— Pekka

ELL-i hackathon on 22 Jan 2014

ELL-i organizes a hackathon – Build an Internet for Your Things!

Place: Seminar space at 1st floor in Open Innovation House, Otaniementie 19 B, Espoo, Finland

Date and Time: Jan 22nd 2014, from 9:00 am to 18:30 pm

This hackathon event is targeted to electronics hobbyists. The event participants will work in teams of 2 to 3 persons to build a simple switched-mode power supply (SMPS) buck converter -based LED driver. The development environment is ELL-i, an Arduino-Like Power-over-Ethernet platform. More advanced participants may build their own SMPS designs, e.g. to drive solenoids or motors. The goal of this hackathon is to learn or apply basic skills for building your own smartly powered devices.

More information and registration here.