Oulaaaaa, il y en a qui se lachent ici...
![Grin ;D](http://www.gamoover.net/Forums/Smileys/guntar/grin.gif)
J'ai (encore) modifié le logiciel pour plaire au plus grand nombre :
- l'horloge dispose d'un arrière-plan et d'un avant-plan
- l'horloge dispose de "composants" logiciels :
- animation (lecture du début à la fin d'une animation)
- heure (affichage de l'heure pendant une durée paramétrable)
- date (affichage de la date pendant une durée paramétrable)
- température (affichage de la température pendant une durée paramétrable)
- logo (affichage d'un logo fixe pendant une durée paramétrable)
- rien (affichage de la célèbre oeuvre "Néant" de Kundelitch, pour une durée paramétrable)
- vous mettez le composant de votre choix sur le plan de votre choix
- pour le moment, le composant "animation" ne peut pas être à la fois en arrière et en avant-plan, car je pense que ça n'a pas d'utilité
Exemple #1 :- arrière-plan : animation
- avant-plan : heure, rien, date, rien, température, rien, logo, rien
=> on a en sur-impression par-dessus les animations : l'heure, la date, etc...
=> entre 2 affichages d'avant-plan, il y a une pause qui permet de profiter des animations
[youtube=600,450]lbah44mrkDI[/youtube]
Les animations ont été créées avec mame + avconv + gimp :
./mame64 bublbobl.zip -aviwrite bublbobl.avi
avconv -ss 00:00:17.0 -i bublbobl.avi -t 6 -an -vf format=rgb8,format=rgb24 -pix_fmt rgb24 bublbobl.gif
Ensuite, je crop le gif animé en 128x32 avec gimp.
Exemple #2 :- arrière-plan : animation, heure, animation, date, animation, température, animation, logo
- avant-plan : rien
=> on a une animation, puis l'heure, puis une autre animation, etc...
=> l'avant-plan n'est pas utilisé, donc aucune sur-impression, on peut profiter des animations
Pour info, le logiciel fait à l'heure actuelle environ 27.000 lignes de code et 130 fichiers.
![Cheesy :D](http://www.gamoover.net/Forums/Smileys/guntar/cheesy.gif)
Je dois encore écrire toute la partie "setup" et le contenu du serveur web intégré.
Je ne suis pas sûr de maintenir la fonction de serveur web, car il n'apporte pas grand chose par rapport au futur setup intégré. En plus, ça bouffe une quantité de RAM inouïe pour pas grand chose...
Pour le choix non-aléatoire des animations, il m'est difficile de réaliser un tri alphabétique des noms de fichiers, car ça m'oblige à tous les avoir en mémoire lors du tri et à maintenir ces noms en RAM en permanence.
S'il y a 500 fichiers, avec environ 32 octets par nom (c'est très peu), j'ai 16k de RAM rien que pour les noms.
Si on passe à 1.000 fichiers et 64 octets par nom (c'est plus réaliste), ça fait 63k de RAM de noms de fichiers, soit 50% de la RAM du processeur...
Je pense opter pour une solution plus facile : lecture d'un fichier texte présent sur la SD.
Dans ce fichier, 1 ligne = 1 nom de fichier animation ; le fichier est lu ligne par ligne et l'animation demandée est jouée.
Autre avantage, le fichier peut faire 50.000 lignes, ce n'est pas un problème, il n'est lu que ligne par ligne.
Pour générer le fichier, c'est très simple :
find anim -type f -name "*.dmd" | sort > anim.txt
Coté "production", ça restera de l'artisanal made in garage.
Je commanderai les divers composants/organes au fur et à mesure des intentions de commandes manifestées.
L'assemblage n'est vraiment pas long, c'est plus le délai de réception des composants/organes qui l'est.
Coté habillage, je ferai un essai avec du plexi. Ce sera une option avec supplément.
L'idée est d'avoir une plaque avant jolie (fumée ? translucide ? diffusante ?), et une plaque arrière technique qui va permettre l'assemblage mécanique.
Celui qui voudrait un cadre en bois le fera lui-même, car de toute façon il y a 9 chances sur 10 que celui qui soit livré ne plaise pas.
![Grin ;D](http://www.gamoover.net/Forums/Smileys/guntar/grin.gif)