COMMENT FLASHER UNE WEMOS D1 MINI PRO POUR L'UTILISER DANS SON PINCAB

CRÉDITS ET REMERCIEMENTS

Code Arduino : Aetios+Kakou+Peskopat (Pincab Passion) ~ Github

Test, Solutions et bidouilles : Christophe Krolikowski+Abraham Génocide+Ludovic Denis

DLL : blc29

Rédaction et bidouilles : Arnoz

MERCI DE NE PAS COPIER OU PUBLIER CE DOCUMENT SANS L’AUTORISATION PRÉALABLE DE L’AUTEUR.

A TÉLÉCHARGER

ATTENTION ! LES VERSIONS DE FICHIER INDIQUÉES DANS CE DOCUMENT SONT TRÈS IMPORTANTES, NE PRENEZ PAS LA DERNIERE VERSION EN VOUS DISANT QUE ÇA SERA MIEUX, ÇA NE MARCHERA PAS. PRENEZ BIEN LES VERSIONS INDIQUÉES !

Drivers wemos : Le site des drivers  / Les fichiers du driver

Arduino 1.8.3 : Le site Arduino / le fichier d’installation

Code Arduino : Le GitHub / PincabLedstrip

DLL : DirectOutput.dll

Fichier Cabinet.xml exemple : Cabinet.xml (Click droit, enregistrer la cible sous...)

DOF : Le site de MJR / Fichier d’installation du DOF (version du 13/3/2019)

INSTALLATION ET CONFIGURATION DES DRIVERS WEMOS ET DU LOGICIEL ARDUINO IDE

Branchez votre carte WEMOS D1 mini pro à votre ordinateur

Décompressez ensuite les fichiers du driver que vous avez téléchargé, puis lancez CP210xVCPInstaller_x64.exe

Faites suivant, puis terminer

Ensuite lancez le fichier d’installation du logiciel ARDUINO IDE 1.8.3

Lancez le logiciel ARDUINO IDE

Fermez le Logiciel ARDUINO IDE

Décompressez le code téléchargé (PincabLedstrip.zip) dans un dossier nommé PincabLedstrip dans Documents/Arduino (ce dossier a dû être créé au premier lancement de l’IDE ARDUINO)

 

Relancez l’ARDUINO IDE

 

Allez dans Croquis, Inclure une bibliothèque, puis Gérer les bibliothèques

 

Puis dans le cadre de recherche, mettez Fastled

Vous devrez choisir la version 3.1.6 dans le menu déroulant, puis installer.

 

Faites de même pour installer la librairie ElapsedMillis version 1.0.4

 

Fermez cette fenêtre

Allez ensuite dans Fichier, puis Préférences

 

Et dans « URL de gestionnaire de cartes supplémentaires, mettez :

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Puisque nous sommes ici, nous allons en profiter pour afficher le numéro des lignes, ce qui est assez pratique, pensez à cocher la   case « Affichez les numéros de ligne »

Faites OK, puis allez dans Outils, Type de carte, et Gestionnaire de carte

 

Mettez ESP8266 dans la recherche, puis installez la version 2.4.2

 

Puis, faites fermer

Ensuite, allez dans Outils, type de carte, et choisissez LOLIN(WEMOS) D1 mini Pro

Toujours dans Outils, vérifiez bien que les options correspondent :

 

Pour finir la configuration du logiciel, il va falloir lui indiquer sur quel port est connecté la Wemos en passant par Outils, puis Port.

(Le plus simple pour trouver le port, débranchez la wemos, regardez les ports disponibles, puis rebranchez la Wemos, refaites Outils et Port, et là il y en a un nouveau, c’est la Wemos)

 

Normalement, on est bon pour ce qui est de la configuration du logiciel.


 

CONFIGURATION DU PROGRAMME

Nous allons maintenant configurer le logiciel pour l’adapter à votre configuration.

Ouvrez le code que vous avez décompressé dans le fichier PincabLedstrip à l’aide de l’ARDUINO IDE.

Cela devrait ressembler à ça….

 

Dans la partie haute, vous remarquerez plusieurs onglets, ce sont les différents fichiers qui composent le code.

La partie que nous devons modifier se trouve dans LedStrip.h

Nous allons donc cliquer dessus pour éditer les valeurs.

Première chose importante, assigner les sorties des 6 bandeaux LED

Cela se présente comme ceci, à la ligne 14 :

 

#define DATA_PIN1   14 // D5

#define DATA_PIN2   12 // D6

#define DATA_PIN3   13 // D7

#define DATA_PIN4   15 // D8

#define DATA_PIN5   5 // D1

#define DATA_PIN6   2 // D4

Cela veut dire « Je voudrai que la sortie (DATA_PIN)1 soit sur la sortie Wemos 14 qui correspond à D5 sur la wemos. »

Normalement on n’a pas à changer ça, mais si jamais pour une raison X ou Y vous deviez le faire, c’est ici que ça se passe.

Pour information, voici les correspondances des sorties disponibles (attention, toutes ne fonctionnent pas) :

 

1

TX

3

RX

16

D0

5

D1

4

D2

0

D3

2

D4

14

D5

12

D6

13

D7

15

D8

 

 

 

 

 

 

 

 

 

 

 

Deuxième chose à configurer, le type de ruban LED que vous utilisez, cela se passe à partir de la ligne 21 :

 

//#define LED_TYPE    WS2811

#define LED_TYPE    WS2812

Tout d’abord, il faut comprendre le principe du commentaire. Si vous utilisez 2 slashs (un slash ce n’est pas un guitariste hirsute de vieux groupe de rock éculé, mais c’est ça / ) devant du code comme sur la première ligne, toutes les choses écrites ensuite sur cette ligne ne sera pas prise en compte. C’est pratique quand nous avons plusieurs choix comme dans notre cas précis, ou pour commenter du code.

Il y a plusieurs types de ruban LED adressable, sous plusieurs références. En général nous avons du WS2811 pour les bandeaux LED plus anciens, et du WS2812 (suivi parfois d’une lettre) pour les plus récents. Pour connaitre la référence de votre bandeau LED, alors soit c’est noté dessus, soit c’est noté sur le site ou vous l’avez acheté, et dans le dernier des cas, vous essayez l’un, et si ça ne marche pas et bien vous testez l’autre. C’est sans risque, ça vous petera pas à la gueule, c’est juste que les différents types de bandeau utilisent un protocole de communication un poil différent.)

Le but de la manœuvre ici est donc de décommenter la ligne qui correspond à nos LED, et commentez l’autre.

On peut tout aussi bien changer la référence de la ligne non commentée, mais c’est moins propre….

 

Viens ensuite une autre subtilité, l’ordre des couleurs dans les LED.

Une LED RGB (ou RVB c’est pareil) se sert de 3 couleurs qu’elle mélange pour en créer plein d’autres. Le rouge (R), le vert (G comme Green en américain, ou V) et bleu (B).

Vous noterez que vu que rouge se dit Red en américain, et bleu se dit Blue, on tombe sur les mêmes initiales, c’est génial, tiens je vais faire une petite danse de célébration….

 

Bien sûr, si tous les rubans LED étaient RGB, ça serait plus simple, et bien non….

Normalement des WS2811 sont RGB, et des WS2812 sont GRB.

Pour faire simple, et pour trouver l’ordre de vos LEDs s’il n’est pas écrit quelque part, il y a un petit truc à savoir.

Configurez vos LEDs en RGB, il faut savoir qu’une fois flashée, la première chose que fais la Wemos, c’est d’allumer ce qui est branché sur sa première sortie en TOUT ROUGE, puis TOUT VERT, et enfin TOUT BLEU.

Si ça vous fait ça, nickel, on ne touche à rien.

Si par contre cela vous fait un ordre comme Rouge Bleu et Vert, pas de soucis, vous notez cet ordre, vous le passez en américain, et vous gardez que les premières lettres. MAGIE !!!! voici l’ordre de vos LEDs. (Et oui, dans ce cas ça donne Red Blue Green, on en déduit RBG, et on sait qu’on a des LEDs RBG…)

Partons du principe que les fabricants de LEDs sont des déglingos, et qu’ils n’ont aucune limite, donc toutes les combinaisons sont possibles (par exemple sur mes rubans de test, je suis en GRB)

 

Tout cela se passe au niveau de la ligne 23 (en fait, la 24 vu que si vous avez suivi, vous verrez que la ligne 23 est commentée ????)

//#define COLOR_ORDER RGB

#define COLOR_ORDER GRB

Rien de bien sorcier ici, on met les 3 lettres dans l’ordre voulu….

Vous verrez par la suite que l’on peut aussi régler l’ordre des couleurs dans la partie de configuration du fichier cabinet.xml, cela permet notamment de pouvoir utiliser des bandeaux n’ayant pas le même ordre de couleurs sur des sorties différentes, si par exemple vous décidez de faire évoluer votre installation en rajoutant une ligne d’effet mais que vous n’avez pas acheté exactement les mêmes LED.
Pour ma part je vous conseille de régler l’ordre des LEDs ici plutôt que dans le cabinet.xml afin d’avoir le truc du flash RGB au boot de la wemos, ce qui aide vraiment à trouver la combinaison . 
Attention de ne pas modifier l’ordre des LEDs aux deux endroits directement sinon vous allez être perdus sur l’ordre…

 

Ensuite, vient la ligne 28 où l’on doit renseigner le nombre de LEDs maximum que contient une ligne. Ce n’est pas le nombre total de LEDs que vous aurez, mais bien le maximum de la plus longue ligne (en général votre backboard).

Nous allons mettre un chiffre un peu supérieur à notre configuration, mais pas énorme non plus pour ne pas surcharger la Wemos de travail.

Pour ma part, ma plus grande ligne sera celle de la backboard, 8 lignes de 50 cm de bandeau à 144 LEDs par ligne, soit 8*72, soit un total de 576 LEDs. Mettez donc 600….

//Defines the max number of ledstrip which is allowed per ledstrip.

#define MaxLedsPerStrip 600

Continuons avec la ligne 30 ou on nous demande le nombre de rubans LED dont nous disposons. Attention, ce n’est pas le nombre de lignes de votre backboard, c’est le nombre de sorties (par exemple nous pouvons utiliser 1 sortie backboard, 2 sorties pour les sides, une sortie pour les LEDRING autour des haut-parleurs, une sortie pour un undercab et une sortie pour des boutons flipper en RGB, ce qui nous donne 6 sorties)

En général si on met 6 (qui est le nombre max au jour d’aujourd’hui sur une Wemos) ça marche même si nous utilisons que 3 sorties…

//Defines the number of ledstrip

#define NUMBER_LEDSTRIP 6

Dernière petite chose à configurer, la luminosité de vos bandeaux… Si les bandeaux sont trop lumineux et vous gâche le plaisir en vous rendant aveugle, c’est pas cool….

Pour cela, nous allons à la ligne 32 ou nous allons régler ça.

//Defines Brightness

#define BRIGHTNESS  255 // Defines Brightness in RGB boot sequence

#define BRIGHTNESS_PIN1 255 // Defines Brightness in pin 1 (0 to 255)

#define BRIGHTNESS_PIN2 255 // Defines Brightness in pin 2 (0 to 255)

#define BRIGHTNESS_PIN3 255 // Defines Brightness in pin 3 (0 to 255)

#define BRIGHTNESS_PIN4 255 // Defines Brightness in pin 4 (0 to 255)

#define BRIGHTNESS_PIN5 255 // Defines Brightness in pin 5 (0 to 255)

#define BRIGHTNESS_PIN6 255 // Defines Brightness in pin 6 (0 to 255)

255 correspond à la luminosité maximum, 0 le minimum (ça ne s’allume pas). Mettez la valeur qui vous convient.

La première ligne correspond à la luminosité de la séquence RGB au boot de la carte.

Les 6 suivantes correspondent à la luminosité de chaque sortie.

On sauvegarde, et on envoie tout ça dans la Wemos.

Cette dernière doit bien sûr être branchée

On clique sur la petite flèche « Téléverser »

 

On attend, il y aura des petits messages d’erreur en orange mais on ne s’inquiète pas (#      pragma message "No hardware SPI pins defined.  All SPI access will default to bitbanged output")

Si tout se passe bien, vous devriez avoir quelque chose qui ressemble à ça :

 

Si votre Wemos est branchée à vos LEDs, vous devriez vous avoir pris un gros flash RGB dans la gueule (ou RGB, dans ce cas, retournez à la partie ou j’explique tout ça…), et arborer un franc sourire…

Si c’est le cas, fermez le logiciel ARDUINO IDE, faites une pause, regardez dehors, sortez, buvez un coup, courrez dans votre jardin… Bref, faites un coup de propre dans la tête…. (Tout de suite, il faudra juste vous rappeler sur quel port COM est branchée votre Wemos, ça devrait aller…)

Si ça ne marche pas, vous pouvez reprendre depuis le début ce document (attention, seule la ligne de LED branchée sur la première sortie doit flasher !!!)

Si ça fait trois fois que vous lisez cette phrase et que cela ne fonctionne Toujours pas, je vous suggère l’option pause avant de reprendre…

Si ça fait 5 fois, que ça ne fonctionne toujours pas, brulez tout à l’aide d’un bidon d’essence et d’une boite d’allumette, ou demandez de l’aide sur l’un des divers groupes Facebook axés Pincab, ou sur un forum…


 

CONFIGURATION DOF

Si vous ne l’avez pas encore fait, je vous invite à installer la version du DOF téléchargée plus haut.

Installez la dans C://DIRECT OUTPUT/

Remplacez la DLL DirectOutput.dll dans ce dossier par celle que vous aurez téléchargé

Rendez-vous sur le site http://configtool.vpuniverse.com , Loggez-vous, puis rendez-vous dans l’onglet My Account puis devant « Number of WS2811 Devices » mettez 1

Sauvegardez

 

Nous devons maintenant faire le point sur les sorties disponibles dans le DOF pour nos types de LED.

Voici un tableau explicatif qui devrait vous aider :

 

PF Left Flashers MX

Copie flasher côté gauche

PF Right Flashers MX

Copie flasher côté droit

PF Back Flashers MX

Copie flasher fond

PF Left Effects  MX

Effets côté gauche

PF Right  Effects  MX

Effets côté droit

PF Back Strobe  MX

Strob arrière

PF Back Effects  MX

Effets arrière

PF Back Beacon  MX

Gyrophare arrière

Flipper Bouton MX

Boutons RGB Flipper

Flipper Bouton PBX MX

Boutons dans Pinball X

PF Back PBX MX

Fond dans Pinball X

Magnasave Left MX

Magnasave RGB gauche

Magnasave Right MX

Magnasave RGB droit

RGB Undercab Complex MX

Led sous le flipper

Vous vous rendez compte que certains effets comme PF Right Flashers MX et PF Right  Effects  MX pourraient être adressés tous les deux à notre ruban de côté droit, c’est le rôle des Combos. Un combo permet donc d’assigner plusieurs effets à un même bandeau LED.

Allons donc configurer ça dans l’onglet Combine Toys

Il y a 3 combos intéressants à mon sens pour notre cas.

PF Back Flashers MX + PF Back Effects  MX + PF Back Strobe  MX

PF Left Flashers MX + PF Left Effects  MX

PF Right Flashers MX + PF Right  Effects  MX

Ce sont mes combos 3 4 et 5 (attention, ne vous inquiétez pas des combos 1 et 2, ils n’ont rien à voir !)

Vous ne pourrez pas créer plus de 5 combos !

Pour info, le PF Back Beacon  MX ne serait utilisé sur aucune table.

 

Faites donc les combos qui vous intéressent, et notez bien leur numéro.

Ensuite, allez dans l’onglet Ports Assignments, choisissez WS2811 dans DEVICE

  

Nous allons ici indiquer au DOF sur quelles sorties sont branchées nos rubans LED.

Chaque ruban LED est représenté par 3 lignes R, G et B

Il y aura donc un décalage dans notre numérotation.

Le port 1 (+2+3) correspond à la sortie du ruban LED 1 sur notre wemos

Le port 4 (+5+6) correspond à la sortie du ruban LED 2 sur notre wemos

Le port 7 (+8+9) correspond à la sortie du ruban LED 3 sur notre wemos

Le port 10 (+11+12) correspond à la sortie du ruban LED 4 sur notre wemos

Le port 13 (+14+15) correspond à la sortie du ruban LED 5 sur notre wemos

Le port 16 (+17+18) correspond à la sortie du ruban LED 6 sur notre wemos

 

Nous assignons en face ce que nous voulons voir sur nos rubans.

Dans mon cas, ma backboard est branché sur la première sortie de ma Wemos, j’assigne donc au port 1 mon Combo 3 que j’ai configuré juste au-dessus

Sur ma deuxième sortie j’ai le bandeau side gauche, j’affecte donc au port 4 mon Combo 4

Sur la troisième sortie j’ai le bandeau droit, j’assigne au port 7 le Combo 5

J’ai mon undercab sur ma 4ème sortie Wemos, je mets donc en face du port 10 RGB Undercab Complex MX

Et ainsi de suite jusqu’au port 16 qui correspond à la sortie 6 de la Wemos.

On fait Save Config, puis on télécharge les fichiers de configuration que l’on décompresse dans le dossier CONFIG de Direct output.

 

On se retrouve avec un fichier se nommant directoutputconfig30.ini en complément du fichier .ini de notre KL25Z, c’est lui qui s’occupe de notre Wemos.

Il nous reste 2 petites choses à faire pour terminer notre installation.

 

La première est de créer un fichier cabinet.xml qui devra lui aussi se trouver dans votre dossier CONFIG de DIRECT OUTPUT

 

Mise à jour !

J'ai créé un générateur de configuration qui vous permet de générer votre fichier de configuration en ligne et de le récupérer.
Lisez quand même le chapitre pour bien comprendre comment remplir les champs du générateur.
Il se trouve ici : 
https://shop.arnoz.com/pincab/cacabinet/

Pour cela je vous propose de partir du fichier cabinet.xml que je vous ai demandé de télécharger, je l’ai commenté, il est valable pour une installation sur 4 sorties.

Prenez n’importe quel éditeur de texte pour le modifier (Notepad, Word pad, Notepad++…), je vous conseille néanmoins Notepad++ qui vous donnera un code coloré plus simple à lire.

Voyons un peu comment il se présente.

Les parties modifiables sont en rose et en gras, parce que le rose c’est joli et que le gras, c’est la vie.

Cela commence ainsi :

 

<?xml version="1.0"?>

<Cabinet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<Name>Pincab</Name> <!-- Nom que vous donnez à votre machine -->

 

Ici vous pouvez donner un nom à votre machine, dans l’absolu ce n’est pas indispensable

 

<OutputControllers>

 

<TeensyStripController>

<Name>TeensyStripController</Name> <!-- Nom du controleur, ne pas modifier -->

<NumberOfLedsStrip1>576</NumberOfLedsStrip1> <!-- port 1 du DOF, 1ere sortie Wemos -->

<NumberOfLedsStrip2>144</NumberOfLedsStrip2> <!-- port 4 du DOF, 2eme sortie Wemos -->

<NumberOfLedsStrip3>144</NumberOfLedsStrip3> <!-- port 7 du DOF, 3eme sortie Wemos -->

<NumberOfLedsStrip4>288</NumberOfLedsStrip4> <!-- port 10 du DOF, 4eme sortie Wemos -->

<NumberOfLedsStrip5>0</NumberOfLedsStrip5> <!-- port 13 du DOF, 5eme sortie Wemos -->

<NumberOfLedsStrip6>0</NumberOfLedsStrip6> <!-- port 16 du DOF, 6eme sortie Wemos -->

 

<ComPortName>COM3</ComPortName> <!-- Le port COM ou est branchée votre WEMOS -->

<ComPortTimeOutMs>300</ComPortTimeOutMs> <!-- Timeout de la connexion -->

</TeensyStripController>

 

</OutputControllers>

 

Dans cette partie, il est temps de sortir la calculatrice. Donnez le nombre de LEDs qui composent chacune de vos sorties.

Dans mon exemple, j’ai 8 bandes de 50 cm de LEDs 144 en backboard, 1 mètre de LEDs 144 de chaque côté du playfield, et 2 fois 1 mètre de LEDs 144 sous le Pincab. Bien sûr si vous avez 6 sorties utilisées, renseignez le reste de la configuration.

Ensuite mettez le numéro du port COM ou est branché votre WEMOS 
(attention, si vous avez flashé votre carte sur un autre PC que celui du Pincab, il vous faudra installer les drivers sur le Pincab, et vérifier le port Com sur le Pincab, le Port COM n’étant pas associé à une carte, mais à un PC, pour cela allez dans votre Gestionnaire de périphériques et regardez ce que vous avez de branché sur les ports COM, ATTENTION, ça ne sera JAMAIS le port 1)

Le timeout est un temps de latence que nous donnons à la carte pour ne pas planter (quand je dis ça, c’est ultra vulgarisé…). Si jamais vous aviez un souci, augmentez un peu cette valeur (elle doit se situer entre 1 et 5000 millisecondes).

 

<Toys>   

 

<LedStrip>  <!-- Configuration de la première sortie LED -->

  <Name>BackBoard</Name> <!-- Le nom de ce qui est branché sur la première sortie -->

  <Width>72</Width> <!-- largeur de la matrice LED -->

  <Height>8</Height> <!-- Hauteur de la marice LED -->

  <LedStripArrangement>LeftRightAlternateTopDown</LedStripArrangement> <!-- Sens de cablage du signal -->

  <ColorOrder>RGB</ColorOrder> <!-- Ordre des couleurs des LEDs -->

  <FirstLedNumber>1</FirstLedNumber> <!-- Numéro de la première LED de la matrice 1 -->

  <FadingCurveName>SwissLizardsLedCurve</FadingCurveName> <!-- Type de courbe LED -->

  <OutputControllerName>TeensyStripController</OutputControllerName> <!-- Nom de la sortie, à ne pas modifier -->

</LedStrip>

 

Nous allons maintenant attaquer la configuration de notre premier ruban, et le plus gros, la BACKBOARD.

En face de Name, on lui donne un nom, que l’on devra redonner par la suite à la fin du fichier.

Ensuite nous rentrons le nombre de LEDs sur la largeur de notre matrice, une matrice est dans notre cas un tableau de LEDs, nous avons 8 lignes de 72 LED, donc un matriçage de 72 par 8. Nous mettons donc 72 dans notre cas

Continuons avec la Hauteur du matriçage, nous mettons 8.

 

Passons à la ligne suivante, nous allons indiquer comment nous avons câblés physiquement le signal qui traverse les LEDs de notre matrice.

Regardez votre matrice de LEDs et imaginez le parcours que suit votre signal selon votre branchement.

 

Il commence en haut et il redescend (TopDown), ou par le bas et il remonte (BottomUp) ?

Il commence par la droite et file vers la gauche, puis repart de droite à gauche (RightLeft) ?

Il commence par la gauche et file vers la droite, puis repart de gauche à droite (LeftRight) ?

Il commence par la droite et file vers la gauche, puis repart direct de gauche vers la droite (AlternateRightLeft) ?

Il commence par la gauche et file vers la droite, puis repart direct de droite vers la gauche (AlternateLeftRight) ?

Faites votre cuisine, et renseignez avec un des termes suivants :

LeftRightTopDown

LeftRightBottomUp

RightLeftTopDown

RightLeftBottomUp

TopDownLeftRight

TopDownRightLeft

BottomUpLeftRight

BottomUpRightLeft

LeftRightAlternateTopDown

LeftRightAlternateBottomUp

RightLeftAlternateTopDown

RightLeftAlternateBottomUp

TopDownAlternateLeftRight

TopDownAlternateRightLeft

BottomUpAlternateLeftRight

BottomUpAlternateRightLeft

Une petite image pour vous aider à comprendre :

Passons ensuite à l’ordre des couleurs des LED, souvenez-vous on a déjà tripoté ça, si tous vos bandeaux sont les mêmes, et que vous avez configuré la partie Wemos pour avoir le flash RGB au boot de la Wemos, mettez simplement RGB.
Si par contre un de vos bandeaux est différents, à vous de vous amuser à trouver le bon ordre 
???? (si jamais le plus simple est de commencer par GRB pour passer de 2812 à 2811…)

Vient le moment où l’on va ressortir la calculette, du moins pas pour le premier bandeau, mais pour les suivants.

Nous devons donner le numéro de la première LED de notre bandeau.

Il faut penser tous les bandeaux que nous câblons comme un seul immense bandeau LED. La 1ère LED est celle de notre backboard câblée en sortie 1, donc là c’est simple, on met 1. Pour la sortie 2, nous devrons mettre le numéro de la première LED du side left, et donc dans notre logique il se trouvera juste après les 576 LEDs qui composent notre backboard, donc 576+1, ça nous donnera 577, pour la troisième on rajoutera les 144 LEDs qui composent notre side left pour trouver le numéro de la 1ère LED de notre side right, donc576 + 144 + 1 ce qui nous donnera 721, et ainsi de suite….

Dans la suite, nous allons définir la courbe qui va être appliquée sur les LEDs.

Il y a plusieurs types de courbes, mais la plupart du temps nous utiliserons la courbe SwissLizardsLedCurve qui est une courbe adaptée aux LEDs et qui permet d’avoir le meilleur compromis sur le rendu des couleurs.

D’autres courbes peuvent être appliquées, pour par exemple réduire encore la luminosité des rubans, voici la liste des courbes disponibles :

Linear

Une courbe linéaire basique

Linear0To224

Une courbe linéaire limitée à 224

Linear0To192

Une courbe linéaire limitée à 192

Linear0To160

Une courbe linéaire limitée à 160

Linear0To128

Une courbe linéaire limitée à 128

Linear0To96

Une courbe linéaire limitée à 96

Linear0To64

Une courbe linéaire limitée à 64

Linear0To32

Une courbe linéaire limitée à 32

Linear0To16

Une courbe linéaire limitée à 16

InvertedLinear

Une courbe inversée (ça éteins au lieu d’allumer et vice versa)

SwissLizardsLedCurve

Une courbe adaptée à l’usage des LEDs

Le premier ruban est configuré.

Servez-vous de ça et de mon fichier exemple pour faire vos autres lignes de LED.

Notez que pour les sides, nous faisons un matriçage de 1 de largeur sur 144 de hauteur, respectez bien ce sens pour que les effets des sides fonctionnent. Pour l’undercab je ne me suis pas fait chier, mais normalement si j’avais un ruban de 144 LEDs de chaque côté du dessous de mon Pincab, je ferais un matriçage de 2 de large sur 144 de hauteur.

Je mets quand même la suite du code pour pas vous perdre, si jamais vous avez 6 sorties, rajoutez-les à la suite…

   

<LedStrip> <!-- Configuration de la deuxième sortie LED -->

  <Name>Sideboard Right</Name>  <!-- Le nom de ce qui est branché sur la deuxième sortie -->

  <Width>1</Width> <!-- largeur de la matrice LED -->

  <Height>144</Height> <!-- Hauteur de la marice LED -->

  <LedStripArrangement>TopDownLeftRight</LedStripArrangement> <!-- Sens de cablage du signal -->

  <ColorOrder>RGB</ColorOrder> <!-- Ordre des couleurs des LEDs -->

  <FirstLedNumber>577</FirstLedNumber> <!-- Numéro de la première LED du deuxième bandeau : 576+1=577-->

  <FadingCurveName>SwissLizardsLedCurve</FadingCurveName> <!-- Type de courbe LED -->

  <OutputControllerName>TeensyStripController</OutputControllerName> <!-- Nom de la sortie, à ne pas modifier -->

</LedStrip>

     

<LedStrip> <!-- Configuration de la troisième sortie LED -->

  <Name>Sideboard Left</Name> <!-- Le nom de ce qui est branché sur la troisième sortie -->

  <Width>1</Width> <!-- largeur de la matrice LED -->

  <Height>144</Height> <!-- Hauteur de la marice LED -->

  <LedStripArrangement>TopDownLeftRight</LedStripArrangement> <!-- Sens de cablage du signal -->

  <ColorOrder>RGB</ColorOrder> <!-- Ordre des couleurs des LEDs -->

  <FirstLedNumber>721</FirstLedNumber> <!-- Numéro de la première LED du troisème bandeau :  (576+144=720)+1=721-->

  <FadingCurveName>SwissLizardsLedCurve</FadingCurveName> <!-- Type de courbe LED -->

  <OutputControllerName>TeensyStripController</OutputControllerName> <!-- Nom de la sortie, à ne pas modifier -->

</LedStrip>

 

<LedStrip> <!-- Configuration de la quatrième sortie LED -->

  <Name>Undercab</Name> <!-- Le nom de ce qui est branché sur la quatrième sortie -->

  <Width>1</Width> <!-- largeur de la matrice LED -->

  <Height>288</Height> <!-- Hauteur de la matrice LED -->

  <LedStripArrangement>TopDownLeftRight</LedStripArrangement> <!-- Sens de câblage du signal -->

  <ColorOrder>RGB</ColorOrder> <!-- Ordre des couleurs des LEDs -->

  <FirstLedNumber>865</FirstLedNumber> <!-- Numéro de la première LED du quatrième bandeau :  (576+144+144=864)+1=865-->

  <FadingCurveName>SwissLizardsLedCurve</FadingCurveName> <!-- Type de courbe LED -->

  <OutputControllerName>TeensyStripController</OutputControllerName> <!-- Nom de la sortie, à ne pas modifier -->

</LedStrip>

 

Ça va, vous êtes bien ? On continue ? C’est bientôt fini….

La dernière partie à modifier, la voilà :

 

<LedWizEquivalent>

 

   <Name>LedWizEquivalent 30</Name> <!-- Nom de la sortie, à ne pas modifier (30 correspond à votre fichier directoutputconfig30.ini) -->

 

    <Outputs>

 

    <LedWizEquivalentOutput>

    <OutputName>BackBoard</OutputName> <!-- Le nom que vous avez donnés à la première sortie -->

    <LedWizEquivalentOutputNumber>1</LedWizEquivalentOutputNumber> <!-- Port 1 sur le dof config tool -->

    </LedWizEquivalentOutput>

 

    <LedWizEquivalentOutput>

    <OutputName>Sideboard Right</OutputName> <!-- Le nom que vous avez donnés à la deuxième sortie -->

    <LedWizEquivalentOutputNumber>4</LedWizEquivalentOutputNumber> <!-- Port 4 sur le dof config tool -->

    </LedWizEquivalentOutput>

 

    <LedWizEquivalentOutput>

    <OutputName>Sideboard Left</OutputName> <!-- Le nom que vous avez donnés à la troisième sortie -->

    <LedWizEquivalentOutputNumber>7</LedWizEquivalentOutputNumber> <!-- Port 7 sur le dof config tool -->

    </LedWizEquivalentOutput>

 

    <LedWizEquivalentOutput> <!-- Le nom que vous avez donnés à la quatrième sortie -->

    <OutputName>Undercab</OutputName>

    <LedWizEquivalentOutputNumber>10</LedWizEquivalentOutputNumber> <!-- Port 10 sur le dof config tool -->

    </LedWizEquivalentOutput>

 

              

    </Outputs>

    <LedWizNumber>30</LedWizNumber>   

 

 

</LedWizEquivalent>

 

</Toys>

 

</Cabinet>

Ici c’est très simple, on reporte le nom que l’on a donné à la ligne que l’on vient de configurer, et on dit sur quelle sortie du DOF on l’a mise, je ne vais pas m’étaler plus longtemps là-dessus…

On enregistre ça dans notre dossier CONFIG, et on ferme tout ça.

 

Pour terminer, lancer global configuration editor qui se trouve dans le dossier DIRECT OUTPUT

Dans inifile, mettez l’endroit où se trouvent vos fichiers de config, normalement C:\DirectOutput\Config

Dans Cabinet config mettez l’endroit où se trouve votre fichier cabinet, normalement C:\DirectOutput\Config\cabinet.xml

Activez les LOGS si vous avez des soucis et que vous voulez les examiner, puis sauver tout ça sous GlobalConfig.xml dans le dossier CONFIG

Copiez ce fichier sous le nom GlobalConfig_B2SServer.xml

Si vous avez Pinball X, passez à pinup Popper…

 

Normalement, ça devrait fonctionner, la LED bleu de votre Wemos devrais clignoter différemment durant une partie.

 

Bonne partie de Pincab !!!!