Azizzzz … LIGHTS !!!

Pour ceux qui n’aurait pas reconnu, c’est une célèbre réplique du 5ème élément !!

Après une longue série de tests, je me suis rendu compte que si je continuais de travailler sur les lampes en mode bit à bit , ça n’allait pas le faire…

Sur A5 (Lamp Driver) : 16 lampes x 4 contrôleurs = 64 commandes

Sur A9 (Auxiliary Lamp Driver) : 8 lampes  x 4 contrôleurs =32 commandes

Par commande : 12 changements d’état (4 pour le choix du contrôleur, 4 pour le choix de la lampe, et 4 pour générer 2 fronts montant pour activer la chose)

ça nous donne du 1152 modifications de bit … le tout 25 fois par secondes…. o_O

Va stocker ça correctement dans un tableau pour tout redécouper… Pfiouuu !

Et surtout, changer les entrées une à une, c’est pas génial et le résultat n’est vraiment pas terrible du tout (ça ne commute pas comme il faut). Du coup je me suis penché sur les « Register » de l’Arduino (si seulement je l’avais vu avant …).

Ces registres permettent de manipuler en 1 seule opération les 8 bits d’un registre (représentant un ensemble de 8 broches de l’Arduino )… Génial !!! SAUF QUE : Je n’ai pas câblé mes entrées/sorties en fonction de ces registres… (et puis la doc pèche un peu là-dessus, j’ai du fouiller dans les .h pour trouver des infos…)

De toutes façons, elle commençait à me gonfler cette nappe IDE … j’ai tout changé pour correspondre aux registres et j’en ai profité pour connecter l’Arduino directement sur le circuit :

Ah ouais, c'est beau !!

C’est bien plus simple à connecter et en plus toutes les I/O de l’Arduino sont accessibles sur le circuit !

Un code refait à zéro et j’ai pu… enfin … allumer toutes les lumières d’un coup (bon, j’en ai quelques une à changer) :

ça déchire !!

 

Par contre, plus rien de jouable pour le moment. snif. Je vais remettre la gestion des switchs et coller l’ensemble switchs/lampes dans une sympatique interruption (c’est le plan en tout cas…reste à trouver comment…)