Hi there,
I've been trying unsuccessfully for a few weeks now to get going with using the LOGI Bone and a
16x32 RGB LED matrix I picked up from Adafruit, so I figured it was time to reach out here and see if anyone could help get me going.
The basic problem I'm having is that when I get to the step where I try to run the Python script
test_mat.py, nothing seems to happen- although the script seems to run fine, the RGB matrix stays perfectly blank. At this point, I'm looking for any help that could point me in the right direction- I'm not exactly sure how to properly troubleshoot this type of issue or narrow down where I should go next. Maybe I missed a step, or maybe there's an issue with some of the code I'm running?
I'll try to detail the steps that got me to this point (again, largely taken from the discussion started by
@jakekarnes42 and followed up by
@jpiat):
- Follow the Quickstart tutorial
- Connect the BBB and LOGI Bone
- Write the pre-configured, latest LOGI Bone Ubuntu image to an 8GB micro SD card
- Connect the BBB via ethernet to my local network
- Power up the BBB while holding down the "Boot" button
- Once it's up on the network, I SSH in to the BBB using the ubuntu / temppwd credentials
- Run the install_logibone.sh script by doing
cd ~/logi-tools
sudo ./install_logibone.sh - Everything looks okay- so run sudo shutdown -r now
- SSH into the BBB again, this time
cd ~/logi-apps/blink_led_app
sudo ./make_demo.sh - Get a successful message and can see that the LEDs on the LOGI Bone are now blinking.
- Create the bit file using this code (correctly, as far as I can tell- I get no errors in Xilinx ISE) and copy it over to the home directory on the BBB
- Also, clone and checkout the master branch from the logi-projects repository so that the base directory of the repository is located at /home/ubuntu/logi-projects on my BBB.
- Connect a 16x32 RGB LED matrix to the LOGI Bone using these instructions from Glen Akins' tutorial
- I know that the tutorial and code is for a 32x32 matrix- I actually have two 16x32 panels that I've tested this entire process with chained together, as well as using just one 16x32 panel).
- Also, I'm using this PCB board ordered from OSH Park, so my connections go LOGI Bone -> PCB -> Ribbon Cable -> 16x32 LED Matrix Panel (-> Ribbon Cable -> 16x32 LED Matrix Panel), parentheses indicate whether I'm testing with just one or both 16x32 panels.
- Load the bit file from Step 2 by doing
sudo logi_loader ./logibone_mat.bit - Connect power to the LED panel(s) (again, the same way as Glen Akins demonstrates in his tutorial)
- Then run the Python test script......
cd ~/logi-projects/logi-matrix/sw
python test_mat.py
- Nothing happens
Any tips on where to go from here? I'm not very familiar with troubleshooting this type of problem- I'm a software engineer and I can debug my way through most software issues, but this one has me completely stuck at the moment.
I'm perfectly happy to try extra steps and provide additional details on any part of my setup, so please let me know if there's something additional I can provide in order to be helpful.
Thanks very much,
Ty
PS- I've been able to successfully run the make_demo.sh scripts located in both the logi-apps/blink-led-app and logi-apps/wishbone directories. I've also successfully loaded the logi-projects/logi-blink-led/bitfiles/logibone_r1_blink.bit file using the logi_loader tool. I mention this only to demonstrate that I am able to get some things working correctly, so hopefully this indicates my Ubuntu installation is working properly
PPS- I've also tested each of the 16x32 RGB LED Matrix panels using an Arduino Uno and some instructions I found over at Adafruit. So at the very least, I know that the panels aren't faulty.
Comments
what version of the logibone are you using (v1.1 or v1.5) ? I'll have a look at the project and let you know if i notice anything that could prevent the project to work for you.
i'am testing as we speak. I noted that the Matrix address in the python script is set to 0x400 while the VHDL maps the matrix at 0x0000. Can you do this modification in the .py file and test ?
PIXEL_CHARS = {
to chain multiple panels, did you modify the ISE project for more panels ? There is a line in teh ISE project :
MAT_0 : wishbone_led_matrix_ctrl
generic map(
nb_panels => 1,
bits_per_color => 4
)
that needs to be modified in
MAT_0 : wishbone_led_matrix_ctrl
generic map(
nb_panels => 2,
bits_per_color => 4
)
In my understanding, a two chained 16x32 panels is not equivalent to a 32x32 panel.
Thanks!
Looking at the vhd files of "logibone_mat.xise" is it possible to drive a 32x64 Panel with minor adjustments?
Setting nb_panels : positive := 4 for two 32x64, does not work nor does nb_panels : positive := 2.
How could one account for that in the .xise file?
I have come along a bit by playing around with one 32x32 panel, seems to work fine. Sadly using additional panels, even when modifying "nb_panels =>2" is getting me nowhere.