The CCGX is based on the Technexion board TAM-3517, which is using the Texas Instruments Sitara AM3517, containing a ARM Cortex-A8 microprocessor:
The software platform of the CCGX is called Venus: Victron Energy Unix like distro with a linux kernel. It is based on and built with OpenEmbedded, a build framework for embedded Linux. It has all kinds of tools, mechanisms and recipes to build the Linux kernel and make a full embedded Linux rootfs. Maintained versions are listed here: https://wiki.yoctoproject.org/wiki/Releases.
To build the Venus yourself, see: https://github.com/victronenergy/venus
we are using a mixture of C, C++, QML (for the user interface) and Python. As a main data exchange, to share values such as voltages, as well as settings and other data, we use D-Bus. D-bus is for inter process communication, see google and the D-Bus page on wikipedia for more information. This diagram gives a good overview of the whole thing:
Processes that interface to products, using the different protocols. These processes make the information available on the D-Bus.
As visible in above project list, part of the sources is already available. All that is open source is available on https://github.com/victronenergy/. The rest is still on Victrons internal git servers, and where possible slowly being moved to github.
~~DISQUS~~