eLooM SDK is a collection of embedded applications based on eLooM framework and components. It demonstrates how to use the eLooM framework providing ready-to-use examples. The package is intended for expert firmware developers who already are familiar with:
eLooM stands for embedded Light object oriented fraMework. It is an application framework designed for STM32, and specifically for soft real-time, event driven, multitasking, and low-power embedded applications.
A developer can use the package to explore and learn the features and the potential of an eLooM based application for STM32 in term of code modularity, reusability and efficiency (memory footprint and performance).
The eLooM SDK has been built on top of eLooM application-level modules called eLooM components, that a final user can reuse and extend easily to build up its custom application. The components available are:
These application modules adopt state-of-the-art design patterns, and they support natively low-power modes.
The package supports different boards from different STM32 families, to demonstrate eLooM portability. For each board there are one or more projects available from the following list:
A detailed README describing the application main features is available for each example.
In the above list, demos are in difficulty order. If you are no already familiar with eLooM, we suggest you to exploit the SDK by running the example in the order described above (first starting from HelloWorld, than Sensor demo and finally Dpu demo).
The HelloWorld project shows the minimum code and MCU resources needed to port the eLooM framework on a target board. It can also be used as a template to start a new project.
The SensorManagerDemo and SensorStreamerCLI show how to use an eLooM component to quickly develop a more complex application. They demonstrate the main features of SensorManager and EMData eLooM components.
The DpuDemo is built on top of the previous project (SensorManagerDemo and/or SensorStreamerCLI) and shows how to add processing capabilities by using another eLooM component, the Digital Processing Unit (DPU).
Firmware is designed as a set of concurrent tasks extending a common interface, where each task uses one or more services that, in turn, use one or more drivers. We call it Managed Task, and this design pattern is described in the framework documentation. All the demos across all the boards share many source code at application level thanks to the design of eLooM. Each demo application can be a starting point for new developments.
eLooM has been developed in the last years and used by ST customers and also in different Function Packs by ST to showcase complex use cases in AI, condition monitoring and sensor fusion domains. Here some examples of FP based on eLooM:
The full description of the API exposed and the design patterns implemented by eLoom and its application modules is described into the CHM available in the Documentation folder, into this wiki page and here