qnlbnsl / Matrix-IO

Master repo to manage matrixio modules
GNU General Public License v3.0
12 stars 0 forks source link

Matrix-IO

Master repo to manage matrixio modules

For support please join my discord: https://discord.gg/fH4Bkc7X

This repository contains the following submodules:

  1. matrixio-creator-hal
  2. matrix-creator-init
  3. matrixio-creator-openocd
  4. matrix-lite-py
  5. matrixio-kernel-modules
  6. matrixio-zwave-utils
  7. xc3sprog

If you just want to get started quickly then you can use the install.sh script to install all the dependencies and packages.

TODO:

  1. Replace requirement for matrixio-creator-openocd with regular openocd
  2. Create build pipeline with github actions and release binaries
  3. Setup a public repository for the debian packages

Quick Start

Ensure you have a clean install of bookworm on your Raspberry Pi. Then run the following commands:

git clone https://github.com/qnlbnsl/Matrix-IO.git
cd Matrix-IO
chmod +x install.sh
./install.sh <arm64 || armhf>

The install script does the following:

  1. Checks the architecture requested. Armhf should be used for 32bit and arm64 for 64bit.
  2. Based on the architecture sleeted it will query all packages that need to be installed.
  3. Installs all the dependencies. This includes: esptool, libreadline6, python3-reedsolo(esptool dependency), and wiring pi.
  4. Next it installs the matrixio packages in the following order
    1. matrix-creator-hal (libmatrixio-creator-hal and libmatrixio-creator-hal-dev)
    2. matrixio-creator-openocd (Required to flash the microcontroller)
    3. xc3sprog (Required to flash the FPGA)
    4. matrix-creator-init (Required to setup creator and voice)
    5. matrixio-kernel-modules (This package is installed after a reboot by scheduling a cronjob with this script)
  5. Optional. Install the zwave utils debian package to enable zwave functionality

Initialization

git clone --recursive -j8  git@github.com:qnlbnsl/Matrix-IO.git

If you already cloned the repository then you can update the submodules with:

git submodule update --init

Package Dependencies

Package: matrix-creator-hal

Debug Logs

If you run into issues after installing all packages then please look at the output of the following

sudo systemctl status matrixio-devices-firmware.service

The service above is what starts the script to program the fpga.

To manually check if everything is working as expected runt he following.

cd usr/share/matrixlabs/matrixio-devices
./matrix-init.bash