No more container, but more profiles
Hello everybody, we are thrilled to share this new release note with you: Luos v2.0.0 is out
Like every young technology growing fast, Luos is going through an intense period of development. This means new critical features and many fixes at the same time, both into frequent releases. Fully dedicated to easing your life as an embedded developer, an electronic engineer, or a product manager, our R&D team is growing and working hard with passion for delivering a powerful technology to you.
As an open-source solution, Luos aims to be wildly distributed and used by as many embedded developers as possible. Thanks to Luos, you can easily design, test and deploy embedded applications on multi-MCUs devices. Spread the word!
What's new in this version?
This is the seventh release of Luos. We described below the various features and fixes that it provides.
🆕 Feature: Profiles to simplify user API
Profiles are predefined structures representing a service type. Since Luos 2.0.0 you can comply services to a specific profile allowing anyone to know how your feature work. For example, any kind of motor (stepper, brushless, Dynamixel, ...) can use the servo-motor profile, then you can control any of them exactly the same way. Profiles also simplify your motor driver development. Instead of dealing with messages, profiles give you input and output variables to interact with anything else (other services, cloud app, ...). You can easily create your own profiles and share them with the community or with your team as a feature API definition. More information on our documentation
🆕 Feature: Packages to simplify portability
Packages allow you to store your embedded code features on sharable folders. So you can move those easily from one project to another and share it with the community. We have big plans for this feature so keep in touch... more information about packages
🆕 Feature: Bootloader
This feature is the big new one everyone has asked us for years. Now, you can compile luos in bootloader mode. By compiling it this way you can flash it to your board then use the Luos network through a gate to update your board firmware. This allows you to update any board anywhere on your device without having physical access to it. More information about bootloader
🛠️ Fix: ATSAMD21 register typography
🛠️ Fix: Address last page compute
🛠️ Fix: Change pinout PTP for arduinoMKR board
🆕 Feature: Gate discovering
Some of you sometimes struggle to find a device gate over USB or IP. We add a feature to gate allow you to list all the gates available on your system. From Pyluos
🆕 Feature: Pyluos shell
pyluos-shell is a new command line coming with Pyluos allowing you to directly find and connect to a gate on your system and open an Ipython cession.
This command line is extremely useful to make quick tests.
🆕 Feature: Selftest
Selftest is a specific way of compiling Luos, and specially LuosHAL, allowing you to validate your entire hardware configuration. To make it work you have to connect your different connectors of the board together. Selftest will try to use different hardware resources configured for Luos and will check if everything is OK for you.
🆕 Added: Unit tests
🆕 Added: Miscellaneous code comment updates
🆕 Changed: Luos API: Containers are renamed to services
🆕 Changed: Luos API: Luos reserved commands and User commands are now separated
🆕 Changed: Luos API: Luos list and routing table return names
🛠️ Fix: During detection we reset msg_allocation outside IRQ
🛠️ Fix : During detection we forbid tx from user messages
🛠️ Fix: During detection we reset big data reception state
🛠️ Fix: Routing table research function all return 0 if service is not found
🛠️ Fix: Typography on OD_linear
🛠️ Fix: Luos assert if too many services on the node
- LuosHAL version >= 0.4.0
- Pyluos version >= 2.0.0
- Luos library
- Luos library for Arduino environment with example
- Luos gate library for Arduino environnement
🎉 Try it, it's #opensource: https://github.com/Luos-io/luos_engine/releases/tag/2.0.0