Thank you for your donation!


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


PeppyMeter and moOde
Hello everyone,

After a long time I'm trying to finish a completely new system with PeppyMeter. 
But I can't get the PeppyMeter to run. Here are the facts:
  • I am using a Raspi4 with the current ModeAudio version 8.3.9
  • I have connected a 7 inch display via HDMI. The display works and shows the MoodAudio information. 
  • I am currently using an external USB Dac with amplifier as a DAC.  
  • The PeppyAlsa runs without errors
    /home/pi/peppyalsa/src/peppyalsa-client /var/tmp/peppyfifo
  • The PeppyMeter installation has run without errors.
  • Starting with (cd /home/pi/PeppyMeter | sudo python3 peppymeter.py) does not work. 
    Code:
    pygame 1.9.6
    Hello from the pygame community. https://www.pygame.org/contribute.html
    libpng warning: iCCP: known incorrect sRGB profile


  • But I don't think that's the problem. 
  • The display goes black, nothing else happens
  • The config.txt file returns this result:
Code:
[current]
meter = random
random.meter.interval = 20
base.folder =
meter.folder = 800x480
screen.width = 1024
screen.height = 600
exit.on.touch = False
stop.display.on.touch = False
output.display = True
output.serial = False
output.i2c = False
output.pwm = False
output.http = False
use.logging = False
use.cache = True
frame.rate = 30

[sdl.env]
framebuffer.device = /dev/fb0
mouse.device = /dev/input/event0
mouse.driver = TSLIB
mouse.enabled = True
video.driver = dummy
video.display = :0
double.buffer = False
no.frame = False

[serial.interface]
device.name = /dev/serial0
baud.rate = 9600
include.time = False
update.period = 0.1

[i2c.interface]
port = 1
left.channel.address = 0x21
right.channel.address = 0x20
output.size = 10
update.period = 0.1

[pwm.interface]
frequency = 500
gpio.pin.left = 24
gpio.pin.right = 25
update.period = 0.1

[http.interface]
target.url = http://localhost:8000/vumeter
update.period = 0.033

[web.server]
http.port = 8001

[data.source]
type = pipe
polling.interval = 0.04
pipe.name = /var/tmp/peppyfifo
volume.constant = 80.0
volume.min = 0.0
volume.max = 100.0
volume.max.in.pipe = 100.0
step = 6
mono.algorithm = average
stereo.algorithm = new
smooth.buffer.size = 4


What can I do?
Can anyone help me?
I've spent a few hours googling since yesterday, but haven't found a suitable solution.


best regards
Peter
Reply
Hi Peter,
What is your current resolution? Please try these commands:
Code:
tvservice -l
tvservice -s -v 0
tvservice -s -v 2
tvservice -s -v 7

Would you try to leave black the 2 parameter:
Code:
screen.width =
screen.height =

Would you try to change the parameter:
Code:
video.display = :2

Please let us know the results.
Best regards,
Francesco
Reply
Hello Francesco,

i'm having the same issue as PeterLustig33 though with a bit different setup.

I'm using a PI3B, with the official 7 inch touchscreen, embedded in a Rasptouch case running on a updated version of Moode to last one, and using an "anotheruser" as user to connect via webterminal, build, and run peppymeter (no pi user in my install).

Following you guide on GitHub, everything works fine until step 4 (step 2 test is working ok as well).

And then, when I run
Code:
sudo python3 peppymeter.py

I have the exact same messages:

Code:
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
libpng warning: iCCP: known incorrect sRGB profile

The config file is 

Code:
[current]                                                                                                                      
meter = random                                                                                                                
random.meter.interval = 20                                                                                                    
base.folder =                                                                                                                  
meter.folder = 800x480                                                                                                        
screen.width =                                                                                                                
screen.height =                                                                                                                
exit.on.touch = False                                                                                                          
stop.display.on.touch = False                                                                                                  
output.display = True                                                                                                          
output.serial = False                                                                                                          
output.i2c = False                                                                                                            
output.pwm = False                                                                                                            
output.http = False                                                                                                            
use.logging = False                                                                                                            
use.cache = True                                                                                                              
cache.size = 20                                                                                                                
frame.rate = 30                                                                                                                
                                                                                                                           
[sdl.env]                                                                                                                      
#framebuffer.device = /dev/fb1                                                                                                
framebuffer.device = /dev/fb0                                                                                                  
#mouse.device = /dev/input/touchscreen                                                                                        
mouse.device = /dev/input/event0                                                                                              
mouse.driver = TSLIB                                                                                                          
mouse.enabled = True                                                                                                          
video.driver = dummy                                                                                                          
video.display = :0                                                                                                            
double.buffer = False                                                                                                          
no.frame = False                                                                                                              
                                                                                                                           
[serial.interface]                                                                                                            
device.name = /dev/serial0                                                                                                    
baud.rate = 9600                                                                                                              
include.time = False                                                                                                          
update.period = 0.1


[i2c.interface]                                                                                                                
port = 1                                                                                                                      
left.channel.address = 0x21                                                                                                    
right.channel.address = 0x20                                                                                                  
output.size = 10                                                                                                              
update.period = 0.1                                                                                                            
                                                                                                                           
[pwm.interface]                                                                                                                
frequency = 500                                                                                                                
gpio.pin.left = 24                                                                                                            
gpio.pin.right = 25                                                                                                            
update.period = 0.1                                                                                                            
                                                                                                                           
[http.interface]                                                                                                              
target.url = http://localhost:8000/vumeter                                                                                    
update.period = 0.033                                                                                                          
                                                                                                                           
[web.server]                                                                                                                  
http.port = 8001                                                                                                              
                                                                                                                           
[data.source]                                                                                                                  
type = pipe                                                                                                                    
polling.interval = 0.04                                                                                                        
#pipe.name = /home/pi/myfifo                                                                                                  
pipe.name = /var/tmp/peppyfifo                                                                                                
volume.constant = 80.0                                                                                                        
volume.min = 0.0                                                                                                              
volume.max = 100.0                                                                                                            
volume.max.in.pipe = 100.0                                                                                                    
step = 6                                                                                                                      
mono.algorithm = average                                                                                                      
stereo.algorithm = new                                                                                                        
smooth.buffer.size = 4                                                                                                        

Based on the questions you raised:

adding more info on width / height did not change anything :

Code:
screen.width =800
screen.height =480

And when i'm executing the tvservice, I have the following

Code:
anotheruser@moode:/home/pi/PeppyMeter $ tvservice -l
2 attached device(s), display ID's are :                                                                                      
Display Number 0, type Main LCD                                                                                                
Display Number 2, type HDMI 0                                                                                                  

anotheruser@moode:/home/pi/PeppyMeter $ tvservice -s -v 0
state 0x400000 [LCD], 800x480 @ 60.00Hz, progressive                                                                          

anotheruser@moode:/home/pi/PeppyMeter $ tvservice -s -v 2
state 0xa [HDMI DMT (4) RGB full 4:3], 640x480 @ 60.00Hz, progressive                                                          

anotheruser@moode:/home/pi/PeppyMeter $ tvservice -s -v 7
[E] Invalid device/display ID                                                                                                  
anotheruser@moode:/home/pi/PeppyMeter $

And changing video.display doesn't change a thing either (knowing that i'm not using HDMI, but the touchscreen).

Hope this can help us to understand what's going on, and also help PeterLustig33 with this.
Reply
(04-05-2024, 10:46 PM)fdealexa Wrote: Hi Peter,
What is your current resolution? Please try these commands:
Code:
tvservice -l
tvservice -s -v 0
tvservice -s -v 2
tvservice -s -v 7

Would you try to leave black the 2 parameter:
Code:
screen.width =
screen.height =

Would you try to change the parameter:
Code:
video.display = :2

Please let us know the results.
Best regards,
Francesco


Hello Francesco ,

Thank you for supporting me. 

I have now left "screen.width =" and "screen.height =" empty.

The commands have the following output:
tvservice -l 
2 attached device(s), display ID's are :
Display Number 2, type HDMI 0
Display Number 7, type HDMI 1

tvservice -s -v 0 
[E] Invalid device/display ID

tvservice -s -v 2
state 0xa [HDMI DMT (51) RGB full 4:3], 1600x1200 @ 60.00Hz, progressive

tvservice -s -v 7
state 0xa [HDMI DMT (4) RGB full 4:3], 640x480 @ 60.00Hz, progressive

The command: video.display = :2 did not result in any change. 

It is reassuring to see that others have similar problems @snivelfr. I was afraid I was the stupidest of them all ;-)
Reply
@PeterLustig33

Hi Peter,
Please use the following paramenter:
Code:
screen.width = 1600
screen.height = 1200

and let us know.
Regards,
Francesco
Reply
@snivelfr


HI,
today I tried to replicate your problem: rpi, original touch display, PeppyMeter (using your "config.txt")
1. installation with "pi" as default user: everything ok
2. installation with "anotheruser" as default user: everything ok
3. installation with mixed user (peppyalsa on "anotheruser" and PeppyMeter on "pi"): everything ok.

At this point the problem is probably related to the RaspTouch software (if present): I'm trying to study the "RaspTouch" solution. Please, if you have any information, do not hesitate to help me on this topic.
Kind regards and thanks,

Francesco
Reply
Hello Francesco & snivelfr,

I found a solution yesterday evening. It has to do with an incompatibility between Raspi default settings, the display and the Peppy software. The problem is probably the monitor resolution. I cannot provide a complete explanation. But I can explain my solution.
Unfortunately I don't have much time at the moment. (Illness) I will deliver my solution as soon as possible.

Best regards,
Peter
Reply
hello gentlemen,

Thank you very much for your feedbacks.

@fdealexa : Rapstouch is more a product designed by audiophonics (mostly the case + RASP + Display + power button + power transfo + DAC), rather than a full OS or additional soft.

my OS is Moode, and moode only.

The additional things i've done on Moode were to add some scripts at the launch of Moode to manage the power ( as per https://github.com/audiophonics/Raspberr...management , but i don't see why it should have an impact on Display).

@PeterLustig33 get well, and see you soon.
Reply
(04-09-2024, 07:07 AM)PeterLustig33 Wrote: Hello Francesco & snivelfr,

I found a solution yesterday evening. It has to do with an incompatibility between Raspi default settings, the display and the Peppy software. The problem is probably the monitor resolution. I cannot provide a complete explanation. But I can explain my solution.
Unfortunately I don't have much time at the moment. (Illness) I will deliver my solution as soon as possible.

Best regards,
Peter

Hi Peter,
good luck with your illness (which I hope is minor).
Best regards,
Francesco
Reply
(04-09-2024, 08:59 AM)snivelfr Wrote: hello gentlemen,

Thank you very much for your feedbacks.

@fdealexa : Rapstouch is more a product designed by audiophonics (mostly the case + RASP + Display + power button + power transfo + DAC), rather than a full OS or additional soft.

my OS is Moode, and moode only.

The additional things i've done on Moode were to add some scripts at the launch of Moode to manage the power ( as per https://github.com/audiophonics/Raspberr...management , but i don't see why it should have an impact on Display).

@PeterLustig33  get well, and see you soon.


HI,
have you tried with moOde from scratch, without any additions? The only thing that could disturb the display is a script that can redirect the message output (I don't think so, but...).
Best regards,
Francesco
Reply


Forum Jump: