GeekFunkLabs / fluidpatcher

A performance-oriented patch interface for FluidSynth
MIT License
124 stars 15 forks source link

No output on the screen (of the build kit) #23

Closed clendee closed 2 years ago

clendee commented 2 years ago

Hi,

Im sorry to be a thorn in your side. Thank you for sending the build kit over, Im really looking forward to getting it operational. I have connected it all together and have a bit of troubleshooting to go through.

Firstly, I went through the install instructions as per your website. When I ran the script:

curl -L git.io/squishbox | bash

I noticed some errors during the running of it. The first thing I noticed is that php7.4 was installed with RaspberryPi OS. I downloaded your script code and changed every instance of php7.3 -> php7.4. It then ran without errors.

image

I choose the audio interface no 3.

image

Unfortunately Im getting no characters appear on the screen. It is getting power.
I have tried adjusting the contrast with a screwdriver but there are no characters output on the screen.

When I run ./squishbox.py from the command line, I get the following:

image

Do you have any ideas on how I might troubleshoot this?

Thank you for your time.

image

albedozero commented 2 years ago

No apologies needed - I appreciate your patience and help tracking down my mistakes :)

First, to enable the sound card edit your /boot/config.txt file and add the following at the end:

dtoverlay=hifiberry-dac

I used to do this in the install script, but I had to remove it for compatibility and forgot to add it to the assembly instructions. Reboot, then re-run the install script and it will detect the sound card as hifiberry. Also, I did an update last night that introduced an LCD bug that I just fixed early this morning, so hopefully if you update the fluidpatcher code when running the script it will fix that.

Raspberry Pi OS just got updated to Debian 11 (bullseye), which is great but clearly I need to change some of the install targets. Thanks for figuring that out for me. Don't hesitate to write back if modifying config.txt as above and re-running the install script doesn't fix your issues!

clendee commented 2 years ago

Hi mate,

Thanks for your time and effort. I added the dtoverlay=hifiberry-dac to the /boot/config.txt and re-ran the install script as you suggested.

Should I comment out other dtoverlay= lines in /boot/config.txt ?

The audio side of the unit is now working, the buttons change patches and I have audio coming from headphones and midi input etc... , unfortunately I still have no output to the screen.

albedozero commented 2 years ago

Ah, good to know the sound is working. You don't need to comment out the other dtoverlay lines - in fact it's probably better to leave them alone.

On the display, here are some checks to run through:

  1. Does it light up at all? I test the LCDs before shipping, so unless it got damaged en route it should still get power.
  2. Did you use a cross-head screwdriver to adjust the constrast potentiometer through its entire range while the unit is on? I usually have to do this before I can see anything.
  3. If the above don't fix it, paste a copy of your _utils/hwoverlay.py file here - maybe something got messed up in the updates.

If it turns out there's something wrong with the LCD I'll get a new one to you.

clendee commented 2 years ago

Hi, thanks for the speedy response.

1) The display lights up 2) Ive gone through the entire range of the potentiometer 3) _utils/hwoverlay.py

`"""
Description: model-dependent wiring and behavior
"""

# model 0000 (prototype)
LCD_RS = 24
LCD_EN = 25
LCD_D4 = 8
LCD_D5 = 7
LCD_D6 = 12
LCD_D7 = 16
BTN_L = 5
BTN_R = 6 
ACTIVE_HIGH = 0

# models 0001-0009 (v2 wiring)
# LCD pins on exterior edge of board - easier for homebrew/perfboard builds
LCD_RS = 15
LCD_EN = 23
LCD_D4 = 24
LCD_D5 = 25
LCD_D6 = 8
LCD_D7 = 7
BTN_L = 27
BTN_R = 22
ACTIVE_HIGH = 1

# models 0010-0024
# SquishBox PCB v3
LCD_RS = 4
LCD_EN = 27
LCD_D4 = 9
LCD_D5 = 11
LCD_D6 = 5
LCD_D7 = 6
BTN_L = 2
BTN_R = 3
ACTIVE_HIGH = 0

# models 0025-
# SquishBox PCB v4
LCD_RS = 4
LCD_EN = 17
LCD_D4 = 9
LCD_D5 = 11
LCD_D6 = 5
LCD_D7 = 6
BTN_L = 2
BTN_R = 3
ACTIVE_HIGH = 0
BUTTONS = BTN_L, BTN_R
`

Don't worry about sending a screen on, its fine.
It'd cost you more to send than I would have to spend to buy it from here.

albedozero commented 2 years ago

Oops! My fault again - the v4 PCB is not out yet. I accidentally committed this upcoming version to the main repository. If you just delete the last section in _hwoverlay.py so the v3 values get used everything should work fine.

clendee commented 2 years ago

Ahh, amazing. Thanks so much. Looking forward to playing around with this device. [And secretly delighted that the issue isn't my soldering skills]

Now all thats left is to learn to use the device and learn to play keys [yikes], but the 'out of the box' experience is fairly satisfying so thanks for that.

IMG_20211119_061249

Wapata commented 2 years ago

Hi there ! Same problem here but I don't own " utils/hw_overlay.py " on my system. It seem that I did something wrong :-/

clendee commented 2 years ago

Can you see the _utils/hwoverlay.py file?
Who owns it? Thats a bit weird that the pi user doesn't own it.

I would probably just run the script again from scratch using the

curl -L git.io/squishbox | bash

OR you can use the

sudo chown pi:pi /home/pi/ -R

This will change the owner and group of every file in the home directory to the pi user.

Wapata commented 2 years ago

I did run the scrip again and tadaaaam it's working ! Midi input ok Sound output ok Screen output ok

I'll see the rest tomorrow, thank for the helping hand !

clendee commented 2 years ago

Awesome, great stuff.

albedozero commented 2 years ago

If the install script were initially run as root (i.e. using sudo) that might explain it.

curl -L git.io/squishbox | bash

This actually won't fix things since the install script specifically avoids overwriting an existing _hwoverlay.py file, so that it doesn't mess up your hardware pin assignments for your specific build. It has to be edited manually (changing ownership with sudo if necessary) - this README should help if needed.