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
Low level drivers interfacing directly with I2C devices are placed in the
- pca9546a: Used to switch between SFP's
- sfp: Low level I2C driver to communicate with the SFP
Wrappers for above drivers are placed in the
- sfp_monitor: wraps the
pca9546adriver and the
sfp driverto 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_ws281xdriver 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: serves
koruzamethods using the XML-RPC protocol. This enables users to write their own UI and other expansion modules if they so desire.