InventDesign experienced difficulties when communicating with its invented C4 LED controller, this is because it should be logged in by an external device and followed several steps to switch on and off a light pattern. That is why, the client demands a control panel that can communicate wirelessly with the C4 LED controller and can run the already designed DiGidot application.
After researching the possibilities and discussing a lot with the client, we agree on designing a Control panel that runs the already made Digidot application and has extra peripherals such as Ethernet and Wi-Fi which expand the connectivity of the panel. Next to that, an additional GUI should be designed that has the following functionalities: Brightness Control, Turning on/off background lights with specific patterns, Operation mode control, and connect or disconnect Wi-Fi.
How and what I have done during the course of this project to realize the desired prototype, are explained hereby in a nutshell:
Firstly I studied the DiGidot application(which is an already running application on Android and IOS platforms) and I came up with a plan to build two additional layers to the application; one layer to allow the application to run on BCM2835 SoC(with Linux operation system). And the other to add the additional GUI. The integrating operation of the application with the Linux operating system was done throughout cross-compiling the whole application and then adding C++ programmed GUI into it. The GUI was designed using Qt-platform(the frontend using QML and backend using C++).
One of the challenges that I encountered in this project is the Touch functionality of the used screen, which was solved by adjusting and programming a new driver that enables the interface with the touch driver of the screen over I2C with BCM2835 SoC.
- Date: October 20, 2020
- Categories: C++Cross-compilingLinuxQt & QML
- Client InventDesign