Hi all, I'm very glad to announce our project is now published as open source!
https://github.com/solettaproject/soletta You're the perfect audience for this project and we hope you get some time to check it out and test it. We hope it will be useful for people creating embedded products, not only Linux products but also those in the micro-controllers as it helps transitioning the knowledge (if not the code) among different platforms. The main goal of this project is to aid the developer to create "the device application" for his product. It is a first public release and it's far from a stable "1.0" release. We're sharing the code and want to receive as much feedback as possible so future development can help more and more developers out there. So report any problems and ideas, even if you want to bash it, please share your ideas on how it should be so we can stop being bashed in the future ;-) The README is pretty extensive and covers a lot, but what I'd like to highlight that we make developers lives easier by providing some uniform way to access basic resources and delivering events. As you may expect the new wave of developers coming to embedded to implement IoT are not that experienced and handling multiple OS-specific bits are error prone and cumbersome, things like getting GPIO events from interruptions (ISR) or file descriptors (Linux)... This often hurts portability and we're stuck with a single SoC, board or OS because porting the software is so painful. Right now we support Linux, RIOT and there is an ongoing work to support Contiki. It also helps those that have to support other developers, be a manufacturer that needs to publish a SDK, be a services company that helps a customer to create their product or a company that have independent teams that need to create software components that will be later joined to create the final product. The basic programming is done in C and there is a high-level domain specific language (DSL) to express business logic. The idea behind this is to be as flexible and efficient as possible while avoiding errors due asynchronous event programming in C, with all those nasty callbacks and data passing. The FBP is translated to efficient C blocks so it can run on very constrained systems. For larger systems we benefit from FBP by using it as a script language, so one can avoid build cycles to create the business logic. This is even more powerful when combined with the "platform conffiles" so you give your components a name based on purpose and define at compile or runtime what's the actual implementation, with that one can use standard keyboard and console to create something on your desktop (fast), then move it to your real board/OS with minimum effort, just change the conffile to map the boolean keyboard inputs to your GPIO, some gtk/slider to your Analog I/O reader and from console to your servo-motor and you're good to go! All that matters is if the components have the same ports (names and types). Last but not least, the license is permissive BSD so it can be compiled as a static binary or together with the OS for those micro-controllers. NOTE: as you may see this from the contributors list the project was created inside Intel. But it is meant to be a true open source project without a controlling company. We will be very glad if more manufacturers join us to help the embedded and IoT ecosystem. Whenever you want to have your devkit supported, let us know and we will help. -- Gustavo Sverzut Barbieri -------------------------------------- Mobile: +55 (19) 99225-2202 Contact: http://www.gustavobarbieri.com.br/contact _______________________________________________ Celinux-dev mailing list Celinux-dev@lists.celinuxforum.org https://lists.celinuxforum.org/mailman/listinfo/celinux-dev