Skip to content

Software

daviderovell0 edited this page Apr 20, 2020 · 17 revisions

This section provides a detailed description of the software layer of bzzzbz on a high level perspective. The code is documented with Doxygen for details on the specific functions. You can find the HTML generated docuentation in the docs/ folder, or run

doxygen Doxyfile

in the main folder to generate it from the code.

Overview

To meet the real-time requirements of the system, the core functionalities of the software were implemented using C/C++.

Below you can find a conceptual software diagram that outlines single components and their interactions.

Software diagram

The diagram will be used as a reference for the following sections that will outline the implementation of the main functionalities:

  • Video Processing
  • Audio Processing
  • Control Processing

Video Processing

bzzzbz uses OpenGL ES 2.0 to generate visuals. OpenGL is the standard cross-platform API for video generation, used in the majority of interactive visuals (such as game development). The OpenGL ES (Embedded System) is optimised for microcontrollers and systems with limited hardware resources. It is therefore suitable for the Raspberry Pi environment.

OpenGL provides

Audio Processing

JACK audio.

Control Processing

Testing

Clone this wiki locally