Table of Contents
LEDScript
Introduction
LEDScript fonctionne dans le contexte WIO, et peut être activé par les commandes Rocrail.
C'est un simple fichier ASCII, qui peut être téléchargé dans le WIO.
Mise à jour 25.01.2025: avec WIO version 872 daté du 16.04.2024 la minuterie pour les commandes p (pause) a été changée de 10ms à 50ms !!!
Tous les LEDScripts utilisant les commandes p (pause) seront exécutés plus lentement. Adaptez s'il vous plaît le LEDScripts en cours d'utilisation.
Les exemples du wiki seront mise à jour dans les prochains jours.
Format
Seuls les sauts de ligne Unix sont autorisés. |
---|
Le format texte possède quelques restrictions:
- Une ligne vierge arrêtera l'analyseur LEDScript, identique à celui avec 'end'.
- Les lignes de commentaires sont préfixés avec le signe '#', et sont restreint à 64 caractères incluant le saut de ligne.
- Seuls les sauts de lignes sont autorisés sans retour de chariot supplémentaire. (Format Unix)
- 32 séquences maximales sont autorisées.
Nommage de fichier
Le nom de fichier doit être formaté comme ceci:
<freetext><nr>.led
Le numéro, <nr> dans une plage de 01
à 99
.
Exemple:
disco04.led
Zero, *00.led, ne peut pas être adressé.
Instructions
Entêtes
L'entête contient juste une ligne:
s <iterations> | Le nombre maximum d'itérations est de 255, et zéro causera une boucle sans fin. |
o <report> | Signaler la fin du script dans le cas de réglage à 1. (Par défaut 1, régler à 0 pour désactiver le signalement.) |
Définition LED
l <nr> | Adresse LED de départ, et déclenchement d'un nouvel enregistrement |
c <count> | Nombre de LEDs démarrant de l adresse |
C <count> | LED aléatoire de la plage d'adresse l à C |
+ or - <count> | pour augmenter pas à pas (au lieu de c ou C) *1 |
r <red> | valeur rouge RGB |
g <green> | valeur verte RGB |
b <blue> | valeur bleue RGB |
i <brightness> | luminosité LED |
< or > <brightness> | pour augmenter/diminuer la luminosité de la LED pas à pas (au lieu de i ou I) (Ver 380+) |
p <pause> | Pause par tranche de 50ms. Jusqu'à la version WIO 875, 10ms |
R <red> | RGB rouge aléatoire avec la valeur maximale donnée ou plage* (ne doit pas être 0) |
G <green> | RGB vert aléatoire avec la valeur maximale donnée ou plage* (ne doit pas être 0) |
B <blue> | RGB bleu aléatoire avec la valeur maximale donnée ou plage* (ne doit pas être 0) |
I <brightness> | luminosité de la LED aléatoire avec la valeur maximale donnée |
P <pause> | pause aléatoire par tranche de 50ms avec la valeur maximale donnée. Jusqu'à la version WIO 875, 10ms |
a | rend aléatoire cette définition, les valeurs RGB, luminosité et pause avec les valeurs maximales données |
Les valeurs rgbip peut être laissé de côté, et dans ce cas les dernières valeurs analysées sont utilisées.
*plage: Une plage de valeur 16bit RGB. Exemple: Plage de 150 à 220. Valeur = 220+(150*256)=38620 (Ver 374+)
*1: pour augmenter jusqu'à la prochaine commande l. Avec + les LEDs restent allumées, avec - non. Voir l'exemple ci-dessous (Ver 377+)
Réinitialisation LED
Si t
> 0 cela est utilisé à la fin du script pour réinitialiser les LEDs.
d <nr> | Adresse de LED de départ |
t <count> | Nombre de LEDs démarrant à l'adresse d |
LED OFF
Lors d'une commande d'arrêt de la LED (sortie), les champs suivants sont utilisé pour réinitialiser les LEDs, si les LEDs restent allumées après que le script soit fini.
D <nr> | Adresse de LED de départ |
T <count> | Nombre de LEDs démarrant à l'adresse D |
Bas de page
e | Fin du LEDScript. |
Téléchargement
Le téléchargement des fichiers LEDScript peut être fait avec un navigateur WEB comme expliqué ici:
Téléchargement par le Navigateur WEB
Activation
Sortie
Régler la valeur de l'adresse, <nr>, entre 1 et 99 et définir le type de port sur LEDScript.
Fonction Voiture
Régler la valeur de l'adresse de la LED supérieur à 100, et <nr> est l'adresse - 100.
Exemples
# From WIO version 875 # Color change red green s2 # led 0 to 5 l0 c5 r255 g0 b0 i50 p50 # led 0 to 2 l0 c5 r255 g255 b0 i50 p50 # end #LED-reset D0 T20 e
Disco
# From WIO version 875 # start 0=endless loop, 1...255=iterations s0 # led 0 to 19 l0 c20 # random a r255 g100 b100 i80 p4 #LED-reset d0 t20 e
Augmenter le nombre de LED
# From WIO version 875 # warning lights s0 //Script declared endless l0 -6 //starting increase with LEDs off after p r255 g115 b0 i150 p2 //end increase l0 c6 r255 g115 b0 i150 p1 l0 c6 i0 p20 l0 +6 //starting increase with LEDs staying on after p r255 g115 b0 i150 p2 //end increase l0 c6 i0 p20 #LED-reset, all LED off d0 t6 e
augmenter/diminuer la luminosité
# From WIO version 875 #brightinc s0 l0 c1 r255 g80 b0 >150 //increase brightness l1 c1 r255 g80 b0 <150 //decrease brightness #LED-reset, LED ausschalten. d0 t2 e
Analyseur LEDScript WIO
L'analyseur WIO est très simple, et lit le fichier ligne par ligne.
Après la lecture d'une ligne, le premier caractère est vérifié comme indiqué dans le paragraphe Instructions.
Si un nombre est attendu, la fonction atoi() C est utilisée avec le pointeur de ligne + 1. Un caractère non numérique peut suivre le nombre.
En raison de la nature simple de cet analyseur, il est aussi autorisé d'ajouter du texte pour rendre le LEDScript plus lisible:
i80 // brightness 80 of 255 p20 // pause 20 * 50ms. Up to WIO version 875, 10ms end
Mais la longueur de ligne totale, incluant le saut de ligne, ne doit pas excéder la limite de 64 octets.