MATRIX Creator/Voice Hardware Test


#1

Hello Community!!

Here are the Hardware test steps. Follow these instructions you could check the physical state of your MATRIX.
(I recommend run these steps with a Raspbian Stretch from scratch)

1. Install matrixio-creator-init

# Add repo and key
curl https://apt.matrix.one/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.matrix.one/raspbian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/matrixlabs.list

# Update packages and install
sudo apt-get update
sudo apt-get upgrade

# Installation
sudo apt install matrixio-creator-init
sudo reboot

2. FPGA Firmware Status

After the reboot, check the firmware info in the FPGA

$ sudo /usr/share/matrixlabs/matrixio-devices/matrix-init.bash

If all of the scripts go well, you could read the version of the software in the FPGA:

MATRIX Voice

$ sudo /usr/share/matrixlabs/matrixio-devices/fpga_info 
IDENTIFY = 6032bad2
VERSION = 10007

MATRIX Creator

$ sudo /usr/share/matrixlabs/matrixio-devices/fpga_info 
IDENTIFY = 5c344e8
VERSION = 10008

2.1 FPGA Test

If you don’t get this information, you need to test the FPGA flash process:

$ cd /usr/share/matrixlabs/matrixio-devices/
$ sudo ./fpga-program.bash 

MATRIX Creator

**** MATRIX Creator FPGA has been programmed!
IDENTIFY = 5c344e8
VERSION = 10008

MATRIX Voice

*** MATRIX Voice has an updated firmware

If you get **** Could not program FPGA", please contact us.

3. Test your MATRIX board

Use the HAL examples https://github.com/matrix-io/matrix-creator-hal

4. Raspberry Pi GPIO Status.

Check the Raspberry Pi GPIO, It could interfere with the SAM3S flashing process.

$ sudo cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-53, parent: platform/3f200000.gpio, pinctrl-bcm2835:
 gpio-16  (                    |sysfs               ) out hi
 gpio-18  (                    |sysfs               ) out hi
 gpio-19  (                    |sysfs               ) out hi
 gpio-20  (                    |sysfs               ) out hi
 gpio-21  (                    |sysfs               ) out hi
 gpio-23  (                    |sysfs               ) out hi
 gpio-29  (                    |led0                ) out lo

gpiochip1: GPIOs 128-135, brcmexp-gpio, can sleep:
 gpio-130 (                    |led1                ) out lo

If you get another result, you should configure your device with the rapsi-config command.

Best Regards,

Kevin Patino


Hardware Test: Microphones 🎤
[solved] Matrix voice not working
Noise in Matrix Creator recording
Cannot pass hardware tests and no microphone input
[Solved] Matrix-creator-hal not work
[Solved] Unable to get sensor data of Matrix Creator on RPI 3b
(Solved) Unable to get any information from the sensors
Arecord: pcm_read:2103 read error: input/output error
Arecord: pcm_read:2103 read error: input/output error
Arecord: pcm_read:2103 read error: input/output error
[Solved] Direction of Arrival with ODAS guide - Not detecting mics
#2

Help me please! floating point exception
#3

@kevindpatino
can you add the command in the steps?

to check if some wired interface is enabled like 1-wire

sudo cat /sys/kernel/debug/gpio

#4

Hello @loom

Sure :slight_smile:


Can’t open any device
#5

After I’ve typed sudo cat /sys/kernel/debug/gpio,

I got info bellow . Is it normal? Not get gpio-16,…gpio-29

gpiochip0: GPIOs 0-53, parent: platform/3f200000.gpio, pinctrl-bcm2835:
gpio-6 ( |sysfs ) in hi IRQ

gpiochip2: GPIOs 100-101, brcmvirt-gpio, can sleep:
gpio-100 ( |led0 ) out lo

gpiochip1: GPIOs 128-135, brcmexp-gpio, can sleep:
gpio-135 ( |led1 ) in hi


#6

Hello @bluegreen,

Could you share the log messages of the Hardware Test, Step by step? It could give us some information about your issue.

Regards,

Kevin Patino


Hardware Test: Microphones 🎤
#7
  1. I went to Matrix-OS folder and active MATRIX-OS with “node index.js” and I got these info bellow

2.Then I opende a new windows under MobaXterm and done the Install matrixio-creator-init.I’ve got info bellow

3.After reboot,I’ve done FPGA Firmware Status test, I’ve got info bellow

4.Then I’ve installed HAL

Installation

sudo apt install libmatrixio-creator-hal libmatrixio-creator-hal-dev
sudo apt-get install cmake g++ git libfftw3-dev wiringpi matrixio-creator-init libgflags-dev
I’ve got info bellow and reboot.

5.Then I went to ~/matrix-creator-hal/build folder and did $ cmake …, I’ve got info bellow


Then I did make && sudo make install

6.Then I did the PI GPIO under

Thanks for your answers


#8

Hello @bluegreen,

  1. We discard a Hardware issue with this log. (The FPGA has been programmed successfully)
  1. Due to you installed the libmatrixio-creator-hal, it’s not necessary to run make install
  1. Did you run any demos in the matrix-creator-hal : Could you run it and share with me the results?

  2. If you get good results with the hal examples, then you could install and test matrixio-creator-malos

sudo apt-get install matrixio-malos
sudo reboot

Let’s test until the malos layer and then we could continue with the MATRIX-OS layer.

Best Regards,

Kevin Patino


#9
  1. I run compass_demo, D8,D9 light up blue ,and D 25 D26 light up red . And get info bellow


    run sensors_demo ,get info bellow

    Run gpio_demo,get info bello
    gpio
    run arc_demo ,all light up blue

  2. Then I run $ sudo cat /sys/kernel/debug/gpio,get info bellow


    Then I type sudo apt-get install matrixio-malos to install malos and reboot
    So is it good now?

3.Other question about matrix ping. Someone in community told me that All lights in matrix creator should light up with a matrix ping.But for my matrix creator,Before type the command “matrix ping”,the D45 D49 light is light up in blue ,after type the command ,there is no other light up. Still D45 D49 light up. Is it normal?


#10

Hello,

After installed MALOS,I test some examples MALOS.It’s good. But I have something not clear about using MALOS.

1.For Connecting to MALOS with NodeJS, should I add these code to test_everloop.js?

-------------------------
var protoBuf = require("protobufjs");
var zmq = require('zmq');
var configSocket = zmq.socket('push')

var creator_ip = '127.0.0.1'
var creator_everloop_base_port = 20013 + 8 // port for Everloop driver.

// relative to where you have the protobufs
var protoBuilder = protoBuf.loadProtoFile('../../protocol-buffers/malos/driver.proto')

// malos interface
var matrixMalosBuilder = protoBuilder.build("matrix_malos")
configSocket.connect('tcp://' + creator_ip + ':' + creator_everloop_base_port /* config */)

----------------------

In everloop.md , there is code Initialize Configuration


**Create LED configuration object**

config.image = new matrixMalosBuilder.EverloopImage

Should I also edit these code in the file test_everloop.js?

Or create a new everloop.js file? If a new ,how to create it ?Which command? Sorry for this question but I’m newbie.

2.Where is the file driver.proto? I couldn’t find it. And there is no page in https://github.com/matrix-io/protocol-buffers/blob/master/malos/driver.proto

  1. For MALOS Protocol Keep-alive port and Data update port, the code example you give is for which file to edit?

  2. " Connecting to MALOS with NodeJS,You’ll need protobufjs and zmq npm packages, and protobuf as a submodule." How to use protobufis?
    And for Passing Commands to MALOS and Reading from MALOS ,we don’t need protobufjs?

5.There is no page for zwave.md. How to do a ZWAVE connection?


#11

No answers for this?


#12

Hello @bluegreen,

Glad to hear that your board works well.

  1. D46: Power Up Indicator – D48: SAM3S Heart Beat — D45: FPGA - IR indicator, It blinks when you set near an IR light source.

  2. In order to use the malos javascript/python examples you just need to check if malos has been successfully installed and running.

sudo systemctl status matrixio-malos.service 
● matrixio-malos.service - Matrix Abstraction Layer for OS
   Loaded: loaded (/lib/systemd/system/matrixio-malos.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-05-04 23:17:17 UTC; 2 days ago
 Main PID: 548 (malos)
   CGroup: /system.slice/matrixio-malos.service
           └─548 /usr/bin/malos

May 04 23:17:17 filter malos[548]: MATRIX device has not been detected
May 04 23:17:17 filter malos[548]: You can query specific driver info using port 20012.
May 04 23:17:17 filter malos[548]: Registered driver IMU with port 20013.
May 04 23:17:17 filter malos[548]: Registered driver Humidity with port 20017.
May 04 23:17:17 filter malos[548]: Registered driver Everloop with port 20021.
May 04 23:17:17 filter malos[548]: Registered driver Pressure with port 20025.
May 04 23:17:17 filter malos[548]: Registered driver UV with port 20029.
May 04 23:17:17 filter malos[548]: INFO: Microphone Array Driver => Kernel Modules has been loaded. U
May 04 23:17:17 filter malos[548]: Registered driver Servo with port 20045.
May 04 23:17:17 filter malos[548]: Registered driver Gpio with port 20049.
  1. About https://github.com/matrix-io/matrix-creator-malos/blob/master/docs/everloop.md. It is outdated, so we are working on it. Thank you to report it.

  2. MATRIX Protobuffers has been described here: https://github.com/matrix-io/protocol-buffers/blob/master/matrix_io/malos/v1/io.proto

  3. Let’s check the gpio example. In this example we show how make the ping on the JS side:

  1. Yes, you need protobuff, as you can see even in the JS/python examples you charge a protobuff module.
  1. Zwave MALOS has an own malos implementation: https://github.com/matrix-io/matrix-malos-zwave

Let me know if you have any other question.

Best Regards,

Kevin Patino


#13

Thanks very much for your kindly answers.More clearly.
But for the 6. the examples
“matrix-protos”: “0.0.17”,
“mic”: “^2.1.1”,
“zmq”: “^2.15.3”

What’s meaning and why these number for protos “0.0.17”, and mic “^2.1.1” zmp “^2.15.3”?


#14

#15

Those are the dependencies versions most probably.


#16

Hello Zwave Utils Setup not successful
I’ve run sudo apt install matrixio-zwave-utils and installation is successful.
Then I did $ sudo /usr/bin/zwave_conf ,it showed me some error in red.


And it didn’t show me “#Serie 500 chip found” like the malos implementation instruction

And the screen stoped when chip ready number showed to “63” ,and the light D45 of matrix creator is always Blinking light up in color blue .

Then I opened a new window to re entry to system,and typed $ cd blob/,but “No such file or directory”.


Why these problems? Could some one have a solution? Thanks for your answers.


#17

I’ve tried again ,and it showed error
spi_bcm2835 is in use


#18

Do you have solution?


#19

Hello Kevin, i have a Matrix Voice device which i have been unable to get working in any way excepting to see it light up the first time i plugged in my raspberry with the Matrix Voice on baord and seen the everloop spin around. I have tried so many times i needed to try an troubleshoot to see if it actually works. After following your steps above i have quite different results and would like to post them here.

This is what i get when i run :- sudo /usr/share/matrixlabs/matrixio-devices/matrix-init.bash

pi@matrix-alexa:/usr/share/matrixlabs/matrixio-devices $ sudo /usr/share/matrixlabs/matrixio-devices/matrix-init.bash
can't open any device
****  MATRIX Voice FPGA Software has been updated!
can't open any device

This is what i get when i run : fpga_info

pi@matrix-alexa:/usr/share/matrixlabs/matrixio-devices $ sudo /usr/share/matrixlabs/matrixio-devices/fpga_info
can't open any device
FPGA IDENTIFY = 0
FPGA VERSION = 10c4c

This is what i get when i run :- sudo ./fpga-program.bash

pi@matrix-alexa:/usr/share/matrixlabs/matrixio-devices $ sudo ./fpga-program.bash
can't open any device
****  MATRIX Voice FPGA Software has been updated!

This is the result for :- sudo cat /sys/kernel/debug/gpio

pi@matrix-alexa:/usr/share/matrixlabs/matrixio-devices $ sudo cat /sys/kernel/debug/gpio
gpiochip0: GPIOs 0-53, parent: platform/3f200000.gpio, pinctrl-bcm2835:
 gpio-18  (                    |sysfs               ) out hi
 gpio-26  (                    |sysfs               ) out hi

gpiochip2: GPIOs 100-101, brcmvirt-gpio, can sleep:
 gpio-100 (                    |led0                ) out lo

gpiochip1: GPIOs 128-135, brcmexp-gpio, can sleep:
 gpio-135 (                    |led1                ) in  hi

And if i go further and do the Hal Build, i get:-

pi@matrix-alexa:~/matrix-creator-hal/build/demos $ ./everloop_demo
can't open any device

I can see the Demos folder with all the demos but the result is the same, cant open any device.
Is my device faulty?

Regards , Anthony


#20

Can you share the packages you have installed ?

dpkg -l | grep matrix

Also will be good to see the kernel modules :

lsmod

Thanks