DAPI

fpp
Je mange des Kellogg's Corn Flac
Je mange des Kellogg's Corn Flac
Messages : 1342
Inscription : 10 nov. 2010 10:53
Contact :

Message par fpp »

Petite démo rapide du proto V2 dans son état actuel...

Pour comparaison, le V1 avec son LCD mono 4x20 caractères, dit "le tank" :-)
1517

A côté, le V2 avec le 2,2" couleur 320x240 pixels, dit "Kirikou" :
1518

...et la nouvelle interface "Pygame" qui va avec :
[video][/video]

Elle fait quasi exactement la même chose que la précédente, juste en plus joli :-)

Pygame a également sa propre boucle d'évènements, qui est plus efficace, donc c'est plus fluide.

Comme d'habitude ces écrans c'est pénible à filmer, en vrai c'est très lumineux, contrasté et on ne voit pas les pixels...
Sédentaire : Squeezebox Touch, SMSL AD18, AKG K701
Nomade : Shanling M1, TaoTronics TT-EP01
Entre les deux : Bedside Music Player, ALO AUDIO "The National", Xiaomi Hybrid Pro+Spinfit
Avatar de l’utilisateur
tinara
TN m'a tuer
TN m'a tuer
Messages : 5196
Inscription : 18 août 2012 21:09
Contact :

Message par tinara »

Parce ue je suis un pov' con, j'amais bien le LCD et son côté rétro-réveil matin :mrgreen:. Sinon, encore une fois fpp, excellent boulot ! Je ne savais pas que Pygame pouvait également servir à ça, c'est vraiment intéressant pour le coup ! C'est toujours basé sur mocp ou tu es passé sur mpd (Non non, je vais pas relire le sujet :mrgreen:) ?
Avatar de l’utilisateur
Wardormeur
Messages : 6827
Inscription : 15 nov. 2010 14:52
Localisation : NowhereLand
Contact :

Message par Wardormeur »

Il en jette le LCD ! J'adore <3 STu fais rien tourner d'autres dessus je suppose? savoir si question charge ça tient ou si c'est rick/rack
Image
fpp
Je mange des Kellogg's Corn Flac
Je mange des Kellogg's Corn Flac
Messages : 1342
Inscription : 10 nov. 2010 10:53
Contact :

Message par fpp »

tinara a écrit :Parce que je suis un pov' con, j'amais bien le LCD et son côté rétro-réveil matin :mrgreen:.
Mais non, moi aussi je l'aimais bien, on était parti pour donner dans le "soviétique", c'était pile poil ! :-)
Malheureusement beaucoup, beaucoup trop gros, et pas d'alternative... je lui trouverai bien un autre usage avec l'autre carte !
Voilà comment on s'embourgeoise... on démarre "ghetto" et on se retrouve avec du RBCD (RockBox Canada Dry :-)...
Sinon, encore une fois fpp, excellent boulot ! Je ne savais pas que Pygame pouvait également servir à ça, c'est vraiment intéressant pour le coup !
Ah, Pygame, le parent pauvre, le joyau méconnu de Python... Desservi par son nom (quoi, des jeux ? des sprites ? mouarf), son site Web très années 90 (HTML 1.0, color(VERTCHIASSE)), son parti-pris de désinvolture... mais plus utilisé qu'on ne croit, souvent invisible et planqué sous le tapis...

Pygame c'est une - LA - (bonne) API Python au-dessus de SDL, qui lui-même est LA lib (C) universelle pour gérer tout ce qui a un écran, un clavier, une souris, du son... un HAL (hardware abstraction layer) programmable en Python quoi, une babiole :-)
Comme c'est une API de bas niveau (pas de widgets, menus, fenêtres etc.) il faut tout faire soi-même. C'est pour ça qu'on le retrouve souvent en fondation d'un "framework" orienté utilisateurs.

Par exemple quand on utilise Kivy, qui est LE truc multi-plateformes génial à paillettes du moment, le seul qui permette de faire de belles applis tactiles 100% Python sur Android et IOS (en plus des habituels Linux/MacOS/Windows), et Français en plus Monsieur s'il vous plaît... eh bien, ce qui gère le doigt et affiche quelque chose sur l'écran, à la fin, c'est Pygame sur SDL :-)

Tiens, d'ailleurs faudra que je regarde s'il y en a qui utilisent Kivy sur la raspi... sans la faire fondre...
C'est toujours basé sur mocp ou tu es passé sur mpd (Non non, je vais pas relire le sujet :mrgreen:) ?
Oui, suffisait de remonter à début mars, soit deux pages... feignasse :-)
D'ailleurs, as-tu seulement vu le post que je me suis fadé rien que pour toi en page précédente ?...
Sédentaire : Squeezebox Touch, SMSL AD18, AKG K701
Nomade : Shanling M1, TaoTronics TT-EP01
Entre les deux : Bedside Music Player, ALO AUDIO "The National", Xiaomi Hybrid Pro+Spinfit
fpp
Je mange des Kellogg's Corn Flac
Je mange des Kellogg's Corn Flac
Messages : 1342
Inscription : 10 nov. 2010 10:53
Contact :

Message par fpp »

Wardormeur a écrit :Il en jette le LCD ! J'adore <3 STu fais rien tourner d'autres dessus je suppose? savoir si question charge ça tient ou si c'est rick/rack
A part le système (que j'ai un peu tuné) il n'y a que les tâches MPD et Python qui tournent.

Côté ressources ça va : on est entre 40 et 50% de CPU (moyenne à 45 en gros).
En mode "pause" on est plus vers 30, donc le décodage par MPD pèse environ 15% (pas vu de différence entre mp3 et flac).
Et l'event-loop de Pygame à 30%, faut que je voie si c'est optimisable...

La conso mémoire est ridicule : 50 Mo tout compris (sur les 256 du modèle A).

Faudra voir la conso, aussi. Si ça se trouve le nouvel écran (qui se branche en 3.3V) consomme pas plus, voire moins, que le mastodonte en 5V...
Sédentaire : Squeezebox Touch, SMSL AD18, AKG K701
Nomade : Shanling M1, TaoTronics TT-EP01
Entre les deux : Bedside Music Player, ALO AUDIO "The National", Xiaomi Hybrid Pro+Spinfit
fpp
Je mange des Kellogg's Corn Flac
Je mange des Kellogg's Corn Flac
Messages : 1342
Inscription : 10 nov. 2010 10:53
Contact :

Message par fpp »

Dans le genre très fort il y a ça, aussi :

[video][/video]

Je ne sais pas comment il fait, moi je n'ai plus UNE broche GPIO de libre... :-)
Sédentaire : Squeezebox Touch, SMSL AD18, AKG K701
Nomade : Shanling M1, TaoTronics TT-EP01
Entre les deux : Bedside Music Player, ALO AUDIO "The National", Xiaomi Hybrid Pro+Spinfit
fpp
Je mange des Kellogg's Corn Flac
Je mange des Kellogg's Corn Flac
Messages : 1342
Inscription : 10 nov. 2010 10:53
Contact :

Message par fpp »

fpp a écrit : Côté ressources ça va : on est entre 40 et 50% de CPU (moyenne à 45 en gros).
En mode "pause" on est plus vers 30, donc le décodage par MPD pèse environ 15% (pas vu de différence entre mp3 et flac).
Et l'event-loop de Pygame à 30%, faut que je voie si c'est optimisable...
...et bien sûr que oui, tu as bien fait de poser la question ! :-)

J'ai fait 2 trucs tout simples :

1) la fréquence de rafraîchissement de Pygame est à 25 fps par défaut !
C'est fait pour les jeux biens sûr, et ça ne sert à rien sur une interface comme celle-ci...
Je l'ai donc baissée à 10 (en-dessous les titres scrollent trop lentement).

2) comme l'écran passe en veille après 15s sans commande utilisateur, je baisse encore à 5 fps quand le backlight est éteint, et j'arrête de mettre à jour les infos affichées tant qu'il n'est pas rallumé...

En 5 minutes on est passé à environ 30% de CPU en "play" écran allumé, et moins de 20% écran en veille :-)

Plus le gag classique :
A part le système (que j'ai un peu tuné) il n'y a que les tâches MPD et Python qui tournent.
... sauf que non ! Je surveillais la conso CPU et RAM avec l'incontournable "htop", et j'ai (encore) oublié de soustraire sa propre charge !
Donc il faut encore enlever 7 à 8% aux valeurs ci-dessus en condition réelles...
Dernière modification par fpp le 18 avr. 2014 11:43, modifié 1 fois.
Sédentaire : Squeezebox Touch, SMSL AD18, AKG K701
Nomade : Shanling M1, TaoTronics TT-EP01
Entre les deux : Bedside Music Player, ALO AUDIO "The National", Xiaomi Hybrid Pro+Spinfit
Avatar de l’utilisateur
Wardormeur
Messages : 6827
Inscription : 15 nov. 2010 14:52
Localisation : NowhereLand
Contact :

Message par Wardormeur »

:jap:
La loop Pygame est quand même sacrément gourmande, je suppose que les frameworks basés dessus sont plus.. optimisés?
Image
Avatar de l’utilisateur
tinara
TN m'a tuer
TN m'a tuer
Messages : 5196
Inscription : 18 août 2012 21:09
Contact :

Message par tinara »

Si si, j'ai tout lu et fais des notes fpp. Yésuilebonneélève.
fpp
Je mange des Kellogg's Corn Flac
Je mange des Kellogg's Corn Flac
Messages : 1342
Inscription : 10 nov. 2010 10:53
Contact :

Message par fpp »

Wardormeur a écrit ::jap:
La loop Pygame est quand même sacrément gourmande, je suppose que les frameworks basés dessus sont plus.. optimisés?
Quand je parle de l'event-loop c'est aussi tout ce qu'elle fait pendant une boucle en termes d'affichage (surfaces, render, blits etc.).

Clairement jusqu'ici je me suis surtout attaché à obtenir à peu près ce que je voulais sur l'écran, sans m'occuper des perfs.

En particulier je rafraîchis l'ensemble à chaque tour en mode goret, à part en mode "pause" (et depuis hier soir en mode veille :-).

Les optimisations faites par les frameworks (ou les bons codes) tiennent surtout au suivi fin des zones modifiées, et à leur mise à jour individuelle au pixel près ('update dirty' au lieu de 'flip'), afin de limiter les blits au strict nécessaire.

Ça doit bien se voir sur des machines limitées comme le raspi, et je m'y attaquerai le moment venu, ne serait-ce que pour l'expérience...
Mais vu le niveau de charge déjà atteint, et sur une carte par définition dédiée à ça, c'est pas une priorité :-)
Sédentaire : Squeezebox Touch, SMSL AD18, AKG K701
Nomade : Shanling M1, TaoTronics TT-EP01
Entre les deux : Bedside Music Player, ALO AUDIO "The National", Xiaomi Hybrid Pro+Spinfit
fpp
Je mange des Kellogg's Corn Flac
Je mange des Kellogg's Corn Flac
Messages : 1342
Inscription : 10 nov. 2010 10:53
Contact :

Message par fpp »

tinara a écrit :Si si, j'ai tout lu et fais des notes fpp. Yésuilebonneélève.
C'est bon de le savoir :-)
Sédentaire : Squeezebox Touch, SMSL AD18, AKG K701
Nomade : Shanling M1, TaoTronics TT-EP01
Entre les deux : Bedside Music Player, ALO AUDIO "The National", Xiaomi Hybrid Pro+Spinfit
Avatar de l’utilisateur
Wardormeur
Messages : 6827
Inscription : 15 nov. 2010 14:52
Localisation : NowhereLand
Contact :

Message par Wardormeur »

depot or it didnt exist
:mrgreen:
#vampire
@Guru on se fait un depot ouvert pour TN qui s'autohost en parallèle des projets dev des membres? :mrgreen:
Image
Avatar de l’utilisateur
GourouLubrik
Messages : 3917
Inscription : 21 oct. 2011 19:50
Localisation : Grenoble
Contact :

Message par GourouLubrik »

on va deja commencé par le commencement hein du debut de reste des projets hein :D
DAC / Amp: 2* Pioneer U-05-S \\ DAC: Audiolab M-Dac; Asus Essence STX [/strike] \\ Ampli: Violectric HPA-V200, OPC The Wire (DIY) \\ Casque: Fostex TH-900 & TH-X00, Sony wh-1000xm3, ATH-W1000X, ATH-A900, AKG K272HD, QPad qh-1339 \\ Intras: Sony XBA-H3 VSonic GR07 mk1; Shure SE110 \\ nomade: LG G5 + Module B&O Hifi Plus \\ Salon: HTPC / Nvidia Shield / Marantz CD6002 / AT-LP1240 => Rotel RA-1570=> Dynaudio Excite X34
fpp
Je mange des Kellogg's Corn Flac
Je mange des Kellogg's Corn Flac
Messages : 1342
Inscription : 10 nov. 2010 10:53
Contact :

Message par fpp »

Bon, la partie optimisation est a priori faite, avec une conso CPU bien contenue (notamment écran éteint, c'est-à-dire la majeure partie du temps).

J'ai passé pas mal de temps à bricoler pour essayer de gagner de la place, notamment en hauteur : les fils avec connecteur "DuPont" c'est génial pour le prototypage, mais ça donne un câblage juste énorme...
Sur le connecteur P1 du raspi j'ai enlevé les bornes en plastique pour brancher directement les broches dessus, avec une gaine plastique autour, qui évite que les fils se touchent, mais qui sont en appui les unes sur les autres pour que ça tienne bien.
Sur l'écran j'ai mis un connecteur coudé pour que les fils soient parallèles au PCB, et je les ai soudés dessus (avec les mêmes gaines de protection).
Pareil pour le keypad, mais directement sur les broches puisqu'elles étaient déjà dans l'axe.
Du coup ça rentre dans à peu près 3cm de profondeur, c'est un gros progrès.
Par ailleurs j'ai découpé le petit bout de face avant sur la carcasse du disque dur multimédia, et je l'ai collé directement sur le keypad à la Loctite, sur les 6 boutons à gérer. Il sert aussi de support pour la diode IR.

Je ne suis pas encore très fixé sur le type de boîtier définitif.
En fait j'attends de tomber par hasard sur une boîte qui fera "Eurêka"...
En attendant ça tourne dans un proto en carton style "Pogo", en hommage à Neil Young ! :-)

1539
1540
Sédentaire : Squeezebox Touch, SMSL AD18, AKG K701
Nomade : Shanling M1, TaoTronics TT-EP01
Entre les deux : Bedside Music Player, ALO AUDIO "The National", Xiaomi Hybrid Pro+Spinfit
Avatar de l’utilisateur
tinara
TN m'a tuer
TN m'a tuer
Messages : 5196
Inscription : 18 août 2012 21:09
Contact :

Message par tinara »

La grande classe <3 !
Répondre

Revenir à « Archives Projets »