User Tools

Site Tools


wio:wio-ledscript-fr

This is an old revision of the document!


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.
Les LEDs de couleur cibles doivent être supportées par la bibliothèque FastLED.


Conditions

WIO version 295+.
Rocrail version 2.1.1042+.


Format

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 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 10ms avec la valeur maximale donnée
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

ledscript-upload-en.jpg Le téléchargement des fichiers LEDScript peut être fait avec un navigateur WEB comme expliqué ici:
Téléchargement par le Navigateur WEB


Activating

Output

Set the address value greater then 100, and <nr> is address - 100.

Car Function

Set the LED address value greater then 100, and <nr> is address - 100.


Examples

# start 0=endless loop, 1...255=iterations
s2 
# led 0 to 5
l0
c6
r255
g0
b0
i50
p1000
# led 0 to 2
l0
c3
r255
g255
b0
i50
p1000
# end
e
# Disco
# start 0=endless loop, 1...255=iterations
s0 
# led 0 to 19
l0
c20
# random
a
r255
g100
b100
i80
p20
e
Increase LED nr. (V377+):
# warning lights
s0 	//Script declared endless
l0 	
-6	//starting increase with LEDs off after p
r255
g115
b0
i150
p10     //end increase
l0 	
c6	
r255
g115
b0
i150
p5
l0 	
c6	
i0
p100
l0 	
+6	//starting increase with LEDs staying on after p
r255
g115
b0
i150
p10     //end increase
l0 	
c6	
i0
p100
#LED-reset, all LED off
d0
t6
e
increase/decrease brightness (V380+):
#brightinc
s0
l0 	
+1    
r255
g80
b0
>150  //increase brightness
l1 	
+1   
r255
g80
b0
<150  //decrease brightness
p3
#LED-reset, LED ausschalten.
d0
t2
e


WIO LEDScript Parser

The WIO parser is very simple, and reads the file line by line.
After reading a line, the first character is checked as listed in the Instructions paragraph.
If a number is expected, the C function atoi() is used with the line pointer + 1. A none numeric character should follow the number.
Because of the simple nature of this parser, it is also allowed to add some text to make the LEDScript more readable:

i80 // brightness 80 of 255
p20 // pause 20 * 10ms
end

But the total line length, incl. linefeed, should not exceed the 64 byte boundary.

wio/wio-ledscript-fr.1635324307.txt.gz · Last modified: 2021/10/27 10:45 by phil45