Hi,
xpcc has had a very exciting year with the introduction of Resumable functions and the following improvements of almost all drivers to be non-blocking (see the last change logs).
We (the RCA [1]) have used xpcc in our two robots to achive the Vice Championship in the International Eurobot Competition in Switzerland, so that was very exciting and a lot of fun.
The major refactoring that we started about 2 years ago to generate the architecture library out of templates using our device files [2] has proven itself to the right tool to deal with the many small differences between peripheral drivers of a microcontroller family.
However, the integration of this highly custom solution into our build system SCons with a lot of custom code is getting to the point where we are fighting SCons more than we should and this is always a sign that something is wrong.
In fact,we wanted to uncouple the generation of the custom framework out of our templates from the actual build process for a long time now, since that would also enable us to use a build system other than SCons to compile and link the application code.
@dergraaf has been working on a new library builder concept which will deal only with the framework generation and customization and module composition, but not compilation.
Under with concept, we can group functionality as modules and declare dependencies between them.
So the `xpcc/architecture` folder would be one module, `xpcc/ui` might be another module.
Your project will have a configuration file declaring which modules are needed and how they should be configured.
We will continue this development of xpcc under a new name, since XPCC is originally the name for the IPC protocol that we use in our robots [3] and it has always been awkward that the framework was named after it.
The new framework will be licensed under GPL with a linking exception and will be called `modm` (pronounced modem).
modm stands for `modular object-oriented development for microcontrollers` [4].
xpcc.io and its repositories will remain in place until this transition is completed, hopefully until the end of this year.
Then xpcc will stand for the protocol and modm for the framework.
Cheers,
Niklas
[1]: http://www.roboterclub.rwth-aachen.de/cms/
[2]: https://github.com/roboterclubaachen/xpcc/blob/develop/src/xpcc/architectur…
[3]: http://xpcc.io/api/group__xpcc__comm.html
[4]: https://github.com/roboterclubaachen/modm