Add this page to your book
Remove this page from your book
Table of Contents
CCGX Hardware and software introduction
The CCGX is based on the Technexion board TAM-3517, which is using the Texas Instruments Sitara AM3517, containing a ARM Cortex-A8 microprocessor:
Linux kernel & OS
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.
- VE.Can to dbus
written in C, reads and writes to the VE.Can comm. port.
written in C, reads and write to VE.Bus (Victron inverter/charger protocol).
- VE.Direct to D-Bus
written in C, reads/writes to serial connected devices, such as the BMV and MPPT solar chargers.
also written in C. Open source: https://github.com/victronenergy/dbus_gps.
C++, using the QT library. Reads data from wireless AC sensors connected via an Ethernet-DECT gateway. Open source: https://github.com/victronenergy/dbus_qwacs
written in C++, communications to Fronius PV inverters via LAN/Ethernet. Open source: https://github.com/victronenergy/dbus-fronius
Written in C++ and QML, uses QT. Takes care of the user interface: buttons and the display
Written in Python, takes data from the dbus and submits it to the VRM Portal. https://vrm.victronenergy.com/
Written in Python, takes care of user settings. All other processes read and write their settings through this daemon via D-Bus. The daemon is an interface between D-Bus and the file /data/conf/settings.xml. Open source: https://github.com/victronenergy/localsettings.
Written in Python, publish PV totals and other system readings on D-Bus. The overviews on the CCGX get their information from this service (com.victronenergy.system). Open source: https://github.com/victronenergy/dbus-systemcalc-py
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.
- to make a screenshot, first press and hold the down button, and then press the up button. The screenshot will be saved with the name snapshot.png in /opt/color-control/gui/ or /service/gui. Making a new screenshot overwrites the previous one.