User Tools

Site Tools


wio:wio-ledscript-fr

Version allemandeVersion anglaiseVersion française

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.


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 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


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

# 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
Augmenter le numéro de LED (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
Augmenter/Diminuer la luminosité (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


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 * 10ms
end

Mais la longueur de ligne totale, incluant le saut de ligne, ne doit pas excéder la limite de 64 octets.

Exemples de ledscript sur le forum

wio/wio-ledscript-fr.txt · Last modified: 2024/04/01 10:24 by phil45