La tvbox Tanix possède un afficheur LED souvent appelé VFD (Vacuum fluorescent display) même si ce ne sont pas des tubes fluorescents à vide. Cette page présente les informations nécessaires pour le mettre en service sous Linux.
Plutôt que d'essayer toutes les combinaisons possible, il est plus rapide de relever le schéma, d'abord de l'afficheur, de son raccordement au controleur et enfin de vérifier les connexions au micro qui peuvent être déduite des dtb.
Le circuit comprend:
On en déduit les informations suivantes:
segments et dotleds de l'afficheur | ||||||||
---|---|---|---|---|---|---|---|---|
Controleur | SG7 | SG6 | SG5 | SG4 | SG3 | SG2 | SG1 | |
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Segment | g | c | b | a | f | e | d | |
Dotled | WIFI | NET | : | II | BL | USB | AL |
cathodes de l'afficheur | |||||
---|---|---|---|---|---|
Controleur | GR1 | GR2 | GR3 | GR4 | GR5 |
Cathode | K4 | K3 | K2 | K1 | K0 |
Adresse 16 bits | 0 | 1 | 2 | 3 | 4 |
Le controleur gère le multiplexage dont le cycle est divisé en n + 1 temps, n étant le nombre de grid utilisés défini dans la configuration et ici 5. Le temps supplémentaire est utilisé pour scanner les entrées clavier. A chaque temps, la grid est activée pendant un certain pourcentage pour régler la luminosité et le contenu de la mémoire interne correspondant à la grid est transféré sur les pins SEG activant ainsi les segments.
La mémoire interne est mise à jour par le processeur en n mots de 16 bits sur le bus série.
Le code du caractère de la chaine à afficher indexe une table contenant la valeur à mettre en mémoire interne pour ce code en tenant compte des tableaux de segments et grid ci-dessus. Ainsi le code '0' 0x30 va allumer les segments abcdef qui va produire une valeur 0x2F en mémoire du digit correspondant.
L'écriture de la mémoire interne nécessite un driver Linux réalisé par un module. Un service vfdd, en user space, envoie, au driver, les informations de mise à jour par l'intermédiaire de sysfs.
Vfdd n'a aucune dépendance sur aucune distribution. Il utilise la libc de la distribution utilisée. A compiler sur la machine cible:
tar Jxvf vfdd-yyyymmdd.tar.xz cd vfdd-yyyymmdd make make install # to copy the binary in /usr/bin
Vfdd a un fichier de config vfdd.conf qui est copié dans /etc. Il est possible que vous ayez à le modifier pour tenir compte de votre machine. Il faut savoir que ce fichier est un fichier JSON, ce qui implique de respecter la syntaxe JSON.
Il y a un fichier vfdd.runit.in qui est copié dans /etc/sv/vfdd/run et qui sert à la création d'un service avec runit et donc à adapter si vous n'avez pas runit.
Pour démarrer le service:
# ln -s /etc/sv/vfdd /var/service
The vfdd software is licensed under the terms of the GNU General Public License as published by the Free Software Foundation. See the file COPYING in the archive.