General Software Overview

KORUZA v2 Pro software is structured in a way that allows for easy maintainability, scalability and reusability. Each software building block can be run as a stand-alone unit, allowing for easy testing. The building blocks that form the KORUZA v2 Pro software are connected using the Remote Procedure Call (RPC) protocol. Such a structure enables integrators to add custom blocks should they so desire.
The main design principle is the master-slave (primary-secondary) relation of two units. This allows for the same code to be executed on both units without major modifications.
Each unit is configured according to the initial setup; either as the primary or the secondary. The primary is in complete control of the secondary. All commands, either manual or automatic are issued by the primary respectively.

Software Architecture

The general code diagram can be seen in the picture below. Each building block is described in greater detail below.
General Code Architecture Diagram
As it is visible in the code architecture diagram, both units run the same software. This way each unit can be independent during all production processes, up to installation, where it is configured into being a primary or secondary unit.
Software in this case is easily upgradable and maintainable. In the table below each software block is described along with its functionality.
Module
Description
KORUZA v2 Pro Firmware
  • Unit control:
    • Movement control
    • LED control
  • Monitoring:
    • RX Power
    • Motor position
Auto Alignment Engine
  • Autonomous control of both units
  • Provides easy integration of custom align algorithms
Config
  • Unit configuration:
    • Configure units for Primary-Secondary relation
    • Low-Data communication channel selection
Device management
  • Issue commands to Secondary unit via Low-Data communication channel
Graphical User Interface
  • Displays unit information
  • Provides manual control

GitHub Repository

There is a single main KORUZA-v2-Pro repository where all other repositories are listed.