KORUZA v2 Pro Firmware
KORUZA v2 Pro firmware enables core functionality of KORUZA units:
    Motor control
    SFP monitoring
    RPC interfacing with outside modules
Wrappers are used to abstract low level hardware drivers. Firmware is therefore more readable, easier to maintain, test and scale. The below code diagram displays how firmware modules are bundled together to make the KORUZA v2 Pro main code.
Pictured in yellow is the main KORUZA v2 Pro code. Firmware wrappers (in blue) encapsulate hardware drivers (in green).
Main KORUZA v2 Pro code

Hardware

Low level drivers interfacing directly with I2C devices are placed in the hardware folder.
    pca9546a: Used to switch between SFP's
    sfp: Low level I2C driver to communicate with the SFP

Wrappers

Wrappers for above drivers are placed in the src folder.
    sfp_monitor: wraps the pca9546a driver and the sfp driver to provide high level monitoring of both SFP's
    motor_control: provides a high level interface for the KORUZA Move Driver Firmware. The KORUZA Move Driver uses the TLV encoding scheme and the hardware serial interface to exchange commands with the Compute Module
    led_control: wraps the rpi_ws281x driver to provide a high level control of the KORUZA LED diode
    gpio_control: provides high level control of the Compute Module GPIO pins
    communication: wraps the TLV encoding scheme to provide a easy to use interface
    koruza: encapsulates all wrappers and exposes methods for interaction with the code

Main Code

    main: serves koruza methods using the XML-RPC protocol. This enables users to write their own UI and other expansion modules if they so desire.

Repository

GitHub - IRNAS/koruza-v2-driver
GitHub
KORUZA v2 Pro Repository
Last modified 1mo ago
Copy link
Contents
Repository