Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Instruction Guide 128x64 OLED with Song Status and Spectrum Display on Raspberry Pi
Hi Francesco

I have updated the BCM 2835 library to the latest version 1.75, tested on a fresh install of Moode 9 on a Pi4 with an I2C and an SPI display, and pushed the changes to the mpd_oled reposiitory.

If you (or anyone else) builds the latest mpd_oled from source on a Pi5 then please let me know if it is working with an SPI display. Once I have confirmation then I will build a new mpd_oled binary package.

Regarding the mpd_oled binary package failure on Moode 9, it looks like the missing package libfftw3-3 is just a dummy package that causes other packages to be installed, and I can just list these individual packages instead, so should be a very minor change.


Adrian.
Reply
(06-27-2024, 05:28 PM)adrii Wrote: Hi Francesco

I have updated the BCM 2835 library to the latest version 1.75, tested on a fresh install of Moode 9 on a Pi4 with an I2C and an SPI display, and pushed the changes to the mpd_oled reposiitory.

If you (or anyone else) builds the latest mpd_oled from source on a Pi5 then please let me know if it is working with an SPI display. Once I have confirmation then I will build a new mpd_oled binary package.

Regarding the mpd_oled binary package failure on Moode 9, it looks like the missing package libfftw3-3 is just a dummy package that causes other packages to be installed, and I can just list these individual packages instead, so should be a very minor change.


Adrian.

Hi Adrian,
Thanks for your time; unfortunatly with the new modification, it does not run: I am not sure if the following feelings can help:
1. the system stucks at 100% of load (of 1 cpu of course) - (please note that on I2C it doesn't happen and runs correctly).
Code:
top - 08:54:27 up 18 min,  1 user,  load average: 1.10, 1.08, 0.73
Tasks: 175 total,   2 running, 173 sleeping,   0 stopped,   0 zombie
%Cpu(s): 25.8 us,  1.7 sy,  0.0 ni, 72.2 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
MiB Mem :   8052.4 total,   6873.5 free,    357.0 used,    926.3 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   7695.5 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 13053 root      20   0   24160   2048   2048 R 100.0   0.0   7:56.24 mpd_oled
  9392 mpd       20   0  634176  42464  29696 S   5.0   0.5   0:51.76 mpd
    22 root      20   0       0      0      0 S   0.3   0.0   0:00.12 ksoftir+
   655 root      20   0   91552  20992  15360 S   0.3   0.3   0:00.85 winbindd
   666 root      20   0   92256  18480  12800 S   0.3   0.2   0:00.81 winbindd
  8551 root      20   0  100512  23040  16896 S   0.3   0.3   0:00.60 rpcd_ls+
     1 root      20   0  170272  12192   8192 S   0.0   0.1   0:04.57 systemd
     2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd

2. it seems that "/dev/gpiomem" does not longer exists:


Code:
pi@MoOde-FdA-Test5:~/mpd_oled $ ls -lia /dev/g*
88 crw-rw---- 1 root gpio 254, 0 Jun 23 16:06 /dev/gpiochip0
89 crw-rw---- 1 root gpio 254, 1 Jun 23 16:06 /dev/gpiochip1
90 crw-rw---- 1 root gpio 254, 2 Jun 23 16:06 /dev/gpiochip2
91 crw-rw---- 1 root gpio 254, 3 Jun 23 16:06 /dev/gpiochip3
131 crw-rw---- 1 root gpio 254, 4 Jun 23 16:06 /dev/gpiochip4
333 crw-rw---- 1 root gpio 235, 0 Jun 23 16:06 /dev/gpiomem0
329 crw-rw---- 1 root gpio 239, 0 Jun 23 16:06 /dev/gpiomem1
330 crw-rw---- 1 root gpio 238, 0 Jun 23 16:06 /dev/gpiomem2
331 crw-rw---- 1 root gpio 237, 0 Jun 23 16:06 /dev/gpiomem3
332 crw-rw---- 1 root gpio 236, 0 Jun 23 16:06 /dev/gpiomem4
pi@MoOde-FdA-Test5:~/mpd_oled $

Please do not hesitate to ask to test more modifications: I just received the pi5 and I tested immediatelly the mpd_oled because somebody else had this problem and I would help him ( "lepetitdiable" at this thread ).
Best regards and thank you very much,
Francesco
Reply
Hi Francesco

Thanks for testing, and for the extra details.

Unfortunately, it looks like there is no easy fix for this, as the BCM 2835 library hasn't been (and may not ever be) updated to support the Pi 5

   https://groups.google.com/g/bcm2835/c/e44ttskxDv8?pli=1

In which case, some options are

a) The current version of mpd_oled won't be updated to support the Pi 5 (I don't like this option)

b) I could add some custom SPI functions that use the linux SPI devices.

c) I could tidy up the development "proof of concept" version ( https://github.com/antiprism/mpd_oled_dev ), which only uses linux devices for communication.

If I can find some suitable code then I will go for option b, as option c could turn into a support nightmare!

Adrian.
Reply
There is no easy fix.

For option b: I found some replacement code for SPI using the linux device driver (/dev/spidevX.X), but it needs to write DC using GPIO, and it looks like it uses the BCM 2835 library code for this, meaning that it won't work on the Pi 5.

For option c: mpd_oled_dev uses libu8g2arm which uses the sysfs GPIO interface, and this has been removed in bookworm, and so mpd_oled_dev won't work with SPI on Moode 9. 

I'll review the situation a bit more, but the only reasonable option I see is to update libu8g2arm and then review mpd_oled_dev, but this is a lot of work.

Adrian.
Reply
Hello Adrian,
Hello Francesco,

thanks for following up on the Moode / RPi5 / SPI / OLED problem - I had already given up. If I can help you (with my modest knowledge), please let me know.

Regards,
Manuel
Reply
Greetings.
I have Raspberry Pi Zero 2W, pcm5102, Moode 8.3.9 Installed MPD oled, everything works. But there is one problem. I want to use the commands sudo systemctl stop mpd_oled / sudo systemctl start mpd_oled and bind them to buttons to turn off the display when listening to music for a long time, so that the display doesn't burn out. When a radio station is playing and I stop mpd oled in terminal - everything is fine, the display goes out. But when I start mpd oled - the indicator turns on, but the music is paused. Is this a bug or a feature, or have I configured something wrong?
Thanks
Reply
(07-09-2024, 08:58 PM)Romanz Wrote: Greetings.
I have Raspberry Pi Zero 2W, pcm5102, Moode 8.3.9 Installed MPD oled, everything works. But there is one problem. I want to use the commands sudo systemctl stop mpd_oled / sudo systemctl start mpd_oled and bind them to buttons to turn off the display when listening to music for a long time, so that the display doesn't burn out. When a radio station is playing and I stop mpd oled in terminal - everything is fine, the display goes out. But when I start mpd oled - the indicator turns on, but the music is paused. Is this a bug or a feature, or have I configured something wrong?
Thanks

1. DO NOT CROSSPOST!!!

2. Check your other thread under support
Reply
Hello,

I followed all the instructions to install from source but when I test, I have no bargraphs and nothing is moving on my I2C (date is not changing too) I have an error :

~ $ sudo mpd_oled -o 3 -a 3c -b 10 -g 1 -f 20 -c alsa,plughw:Loopback,1
sh: 1: mpd_oled_cava: not found

Could you help me to search the error ?

Many thanks for help.
Best Regards
Lalsacien
Reply
(07-12-2024, 01:02 PM)Lalsacien Wrote: Hello,

I followed all the instructions to install from source but when I test, I have no bargraphs and nothing is moving on my I2C (date is not changing too) I have an error :

~ $ sudo mpd_oled -o 3 -a 3c -b 10 -g 1 -f 20 -c alsa,plughw:Loopback,1
sh: 1: mpd_oled_cava: not found

Could you help me to search the error ?

Many thanks for help.
Best Regards
Lalsacien

I reply to myself. I missed the option -k

I works well

Many thanks and sorry
Best Regards
Lalsacien
Reply
Hi Lalsacien

Great! Pleased you found the problem

Adrian.
Reply


Forum Jump: