Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
Hi Lucius
You could try connecting your display like the following post
http://moodeaudio.org/forum/showthread.p...35#pid9235
(and use 'mpd_oled -r 25 -D 24 ...')
Adrian.
Posts: 7
Threads: 0
Joined: Jun 2021
Reputation:
0
Hi adrii,
Thank you for your support and I will wait for your new mpd_oled version. If that doesn't help, I'll try a different display connection.
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
Hi Lucius
I have set up a repository with the development version of mpd_oled
https://github.com/antiprism/mpd_oled_dev
I recommend installing from the binary package
https://github.com/antiprism/mpd_oled_de...de7_deb.md
Your mpd_oled service installation command should be
Code: sudo mpd_oled_service_edit -o SSD1306,128X64,SPI,dc=27,reset=24 -b 21 -g 1 -f 15 -c alsa,plughw:Loopback,1
I found that on the Pi Zero the kernal SPI device used some CPU and there was more CPU used by the system and this did not leave enough CPU for a responsive spectrum. However, if you are on a Pi 3 or 4 this should not be an issue.
If you have any problems running this version, or would like to provide any feedback regarding the installation instructions, then please open an issue at the mpd_oled_dev repository
https://github.com/antiprism/mpd_oled_dev/issues
Adrian.
Posts: 7
Threads: 0
Joined: Jun 2021
Reputation:
0
Hi adrii,
Thank you for your patience, but I still have the same issue. After fresh copy of Moode 7.3, installed mpd_oled, the display works properly. But after Moode restart stop working with same output:
Code: ● mpd_oled.service - MPD OLED Display
Loaded: loaded (/etc/systemd/system/mpd_oled.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Wed 2021-07-14 10:36:38 CEST; 2s ago
Process: 2543 ExecStartPre=/usr/bin/mpd_oled_launch_test (code=exited, status=0/SUCCESS)
Process: 2553 ExecStart=/usr/bin/mpd_oled -o SSD1306,128X64,SPI,dc=27,reset=24,rotation=2 -b 21 -g 1
Main PID: 2553 (code=killed, signal=SEGV)
Jul 14 10:36:36 moode systemd[1]: Starting MPD OLED Display...
Jul 14 10:36:38 moode systemd[1]: Started MPD OLED Display.
Jul 14 10:36:38 moode systemd[1]: mpd_oled.service: Main process exited, code=killed, status=11/SEGV
Jul 14 10:36:38 moode systemd[1]: mpd_oled.service: Failed with result 'signal'.
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
Hi Lucius
That suggests the problem does not relate to the mpd_oled code for SPI and the OLED driver.
I recommend a quick check again that you have 'dtparam=spi=on' in /boot/config.txt, as this version needs it. Perhaps you could post the file here in case it includes anything that suggests a conflict. Perhaps you could also post the output of the following command to see what services might be in conflict
Code: systemctl status | cat
I don't think it should make a difference, as cava isn't run until audio is playing, but you could try running mpd_oled without the -c option, in order to discount that it is an ALSA issue (this will stop the spectrum from displaying)
Code: sudo mpd_oled_service_edit -o -o SSD1306,128X64,SPI,dc=27,reset=24,rotation=2 -b 21 -g 1 -f 15
If you get the same result then you can add the -c option back in, and next try connecting your display like
http://moodeaudio.org/forum/showthread.p...35#pid9235
Which is the same (only differing in the choice of power and ground pins) as
https://github.com/antiprism/mpd_oled/bl...ng_spi.png
Adrian.
Posts: 7
Threads: 0
Joined: Jun 2021
Reputation:
0
Hi adrii,
/boot/config.txt :
Code: disable_splash=1
disable_overscan=1
hdmi_drive=2
hdmi_blanking=1
hdmi_force_edid_audio=1
hdmi_force_hotplug=1
hdmi_group=0
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=audio=off
dtoverlay=i-sabre-q2m
#dtoverlay=disable-wifi
#dtoverlay=disable-bt
dtparam=spi=on
systemctl status | cat :
Code: ● moode
State: degraded
Jobs: 0 queued
Failed: 1 units
Since: Thu 1970-01-01 01:00:03 CET; 51 years 6 months ago
CGroup: /
├─user.slice
│ └─user-1000.slice
│ ├─user@1000.service
│ │ └─init.scope
│ │ ├─1112 /lib/systemd/systemd --user
│ │ └─1113 (sd-pam)
│ └─session-1.scope
│ ├─1099 sshd: pi [priv]
│ ├─1155 sshd: pi@pts/0
│ ├─1156 -bash
│ ├─1979 systemctl status
│ └─1980 cat
├─init.scope
│ └─1 /sbin/init
└─system.slice
├─alsa-state.service
│ └─408 /usr/sbin/alsactl -E HOME=/run/alsa -s -n 19 -c rdaemon
├─udisks.service
│ ├─556 /usr/lib/udisks/udisks-daemon --no-debug
│ └─558 udisks-daemon: not polling any devices
├─systemd-timesyncd.service
│ └─367 /lib/systemd/systemd-timesyncd
├─mpd.service
│ └─895 /usr/local/bin/mpd --no-daemon /etc/mpd.conf
├─nmbd.service
│ └─540 /usr/sbin/nmbd --foreground --no-process-group
├─nginx.service
│ ├─566 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
│ ├─567 nginx: worker process
│ ├─568 nginx: worker process
│ ├─569 nginx: worker process
│ └─570 nginx: worker process
├─dbus.service
│ └─415 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
├─winbind.service
│ ├─576 /usr/sbin/winbindd --foreground --no-process-group
│ ├─615 winbindd: domain child [MOODE]
│ ├─667 winbindd: idmap child
│ └─675 winbindd: domain child [BUILTIN]
├─smbd.service
│ ├─620 /usr/sbin/smbd --foreground --no-process-group
│ ├─662 /usr/sbin/smbd --foreground --no-process-group
│ └─663 /usr/sbin/smbd --foreground --no-process-group
├─ssh.service
│ └─547 /usr/sbin/sshd -D
├─php7.3-fpm.service
│ ├─ 539 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf)
│ ├─ 571 php-fpm: pool www
│ ├─ 572 php-fpm: pool www
│ ├─1088 php-fpm: pool www
│ ├─1275 php-fpm: pool www
│ ├─1302 php-fpm: pool www
│ ├─1305 php-fpm: pool www
│ └─1310 php-fpm: pool www
├─avahi-daemon.service
│ ├─418 avahi-daemon: running [moode.local]
│ └─429 avahi-daemon: chroot helper
├─system-getty.slice
│ └─getty@tty1.service
│ └─582 /sbin/agetty -o -p -- \u --noclear tty1 linux
├─wpa_supplicant.service
│ └─417 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
├─rpcbind.service
│ └─363 /sbin/rpcbind -f -w
├─systemd-logind.service
│ └─407 /lib/systemd/systemd-logind
├─rc-local.service
│ ├─ 553 /usr/bin/udisks-glue --config=/etc/udisks-glue.conf
│ ├─ 577 /usr/bin/php /var/www/command/worker.php
│ ├─1012 /bin/bash /var/www/command/watchdog.sh
│ └─1976 sleep 6
├─polkit.service
│ └─561 /usr/lib/policykit-1/polkitd --no-debug
├─systemd-udevd.service
│ └─147 /lib/systemd/systemd-udevd
├─rsyslog.service
│ └─421 /usr/sbin/rsyslogd -n -iNONE
├─systemd-journald.service
│ └─118 /lib/systemd/systemd-journald
├─rng-tools.service
│ └─425 /usr/sbin/rngd -r /dev/hwrng
├─dhcpcd.service
│ ├─456 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
│ └─536 /sbin/dhcpcd -q -w
└─haveged.service
└─364 /usr/sbin/haveged --Foreground --verbose=1 -w 1024
I got the same result without the -c option.
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
Hi Lucius
I couldn't spot anything that looked like it might be in conflict in config.txt, or any services that might be involved. In which case, you could try changing the DC and RESET connections.
Adrian.
Posts: 6,029
Threads: 177
Joined: Apr 2018
Reputation:
235
(07-14-2021, 11:05 AM)adrii Wrote: Hi Lucius
I couldn't spot anything that looked like it might be in conflict in config.txt, or any services that might be involved. In which case, you could try changing the DC and RESET connections.
Adrian.
Wish I were in a position to follow along at home on a live player.
When I see SEGV and ILL faults I immediately think of the possibility that some routine has clobbered a return address on the stack. The fault is triggered when the return address is eventually popped off the stack and used to (try to) fetch the next instruction. Something like that.
Good hunting.
Regards,
Kent
Posts: 159
Threads: 8
Joined: Dec 2018
Reputation:
0
Hi,
hope you can help me out, I have a display with the following connection see picture
GND
VCC
SCL
SDA
RES
DC
CS
instead of the wiring of the display you mention in your description
How can I use your program to make this work
what must I change?
Thanks
Posts: 434
Threads: 10
Joined: Apr 2018
Reputation:
28
Hi Jempie
It appears that you have a display that can be configured for both SPI and I2C. SCL is the clock pin, and SDA is the data pin, and these are the usual I2C names, but if your display is configured to use SPI they will correspond to CLK and MOSI
https://forum.arduino.cc/t/is-this-i2c-or-spi/506634
Adrian.
|