Introducing the Linux Development Framework

Introducing the Linux Development Framework

Dear Readers,

This month, Tibbo has some exciting news: They’ve just released the first few elements of our new Linux Development Framework! The Framework brings the simplicity of microcontroller-style IO line and interrupt control to our LTPP3(G2) Linux board. Read on for details!

How to IO the Microcontroller Way

Many of our readers are familiar with Tibbo OS (TiOS) and its two programming languages—Tibbo BASIC and Tibbo C. TiOS implements the API for interacting with the outside world through a set of objects. One of them is the io. object for controlling the IO lines of Tibbo devices.

The io. object allows you to enable and disable interrupts, configure IO lines as inputs or outputs, and read and set the state of IO lines. IO line reconfiguration, for example, setting a line to be an output, is performed on the fly, with no reboots necessary.

This simplicity is taken for granted in the microcontroller world, but it is unheard of on Linux devices. Traditional Linux systems are configured via the device tree. Want to enable a serial port? Edit the tree and reboot to make the system “pick up” the changes. Want to modify your configuration on the fly? Sorry, there is no way to achieve this!

Tibbo io. object for Linux addresses this problem. It brings the simplicity of microcontroller-style IO line and interrupt control into the Linux world. By invoking this object from your favorite programming framework or language (such as Python), you can manipulate the IO lines with a magical simplicity and without having to reboot after each configuration change.

Familiar Tibbo C, Now on Linux

The new Linux Development Framework is about much more than just bringing TiOS objects into the Linux environment. It reproduces the TiOS experience on Linux, enabling our customers to create Linux applications in a familiar language—Tibbo C. It is even possible to transpile and execute existing Tibbo BASIC applications on the LTPP3(G2).

Let’s see an example:

In the example above, pressing the MD button on a TPS device will toggle an I/O line and play a pattern on the status LEDs. Subsequent presses of the button will toggle the remaining I/O lines sequentially. Thanks to our Linux API and tools, this code runs on the LTPP3(G2) just as it would on a TiOS-based TPS device!

It’s All in the Libraries

Since the new Linux io. object is compatible with its TiOS counterpart, you can now take advantage of existing Tibbo libraries that were initially developed for TiOS devices! This unblocks the use of quite a few types of Tibbits on the LTPP3(G2) board, including our I2C sensor Tibbits for measuring temperaturehumidity, and ambient light.

Lastly, in a first for Tibbo C development, the Framework allows you to invoke third-party C and C++ libraries from Tibbo C code. This is tremendously important for Linux development, where reusing existing code is the norm.

Take the Framework for a Spin

While we are continuing the testing of the new Framework to ensure the trademark system stability you came to expect from Tibbo, we are also launching a preview program. If you want to get a head start on developing LTPP3(G2) applications, feel free to contact Tibbo support (support@tibbo.com) for personalized assistance and a guided walkthrough.

The first few elements of the Framework have been released as a part of Tibbo’s latest Ubuntu-based distribution for the LTPP3(G2) board. This board is a building block of the Tibbo Project System, our modular automation platform. You can download the latest OS image from our GitHub repository.

Contact Tibbo Support

Courtesy of Tibbo

share post: