Archived copy of IRNAS/koruza-v2-driver · README.md (commit 3c68128, 2021-10-27). All v2 GitHub docs

koruza-v2-driver

Description

KORUZA v2 Pro firmware enables core functionality of KORUZA units:

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.

Hardware

Low level drivers interfacing directly with I2C devices are placed in the hardware folder.

Wrappers

Wrappers for above drivers are placed in the src folder.

Main Code

Unit data

Each unit stores local LED state, motor positions and calibration values in a .json file. Before running the code for the first time move the included data.json file into the data folder.

A The structure of the data.json file is as seen below:

{
    "calibration": {
        "offset_x": 280,
        "offset_y": 528
    },
    "motors": {
        "last_x": -5794,
        "last_y": 2936
    },
    "led": true,
    "zoom": true
}

Dependencies and older versions

License

Firmware and software originating from KORUZA v2 Pro project, including KORUZA v2 Pro Driver, is licensed under GNU General Public License v3.0.

Open-source licensing means the hardware, firmware, software and documentation may be used without paying a royalty, and knowing one will be able to use their version forever. One is also free to make changes, but if one shares these changes, they have to do so under the same conditions they are using themselves. KORUZA, KORUZA v2 Pro and IRNAS are all names and marks of IRNAS LTD. These names and terms may only be used to attribute the appropriate entity as required by the Open Licence referred to above. The names and marks may not be used in any other way, and in particular may not be used to imply endorsement or authorization of any hardware one is designing, making or selling.