Pilote
du barre graphe de l'émulateur
Mini système FORTH
Instructions
Utilisation
Exemple
Principe
Si le barre graphe
de l'émulateur est un registre adressable dans
la zone des registres
d'extension du coeur FORTH décrit comme suit:
277 (0x115):
écriture: valeur[15..0]
le bit 0 correspond au voyant vert à gauche
le bit 15 correspond au voyant rouge à droite
voyant allumé si valeur=1
Le pilote va permettre de faciliter l'utilisation de ce registre en
se
servant du noyau temps réel. Le principe consiste
à
permettre au développeur d'indiquer le niveau
désiré sans avoir à gérer
l'effet de mémoire de la valeur crête.
Pour
l'émulateur du mini système FORTH, les 16 voyants du barre graphe sont
câblés sur les composants PCF8574 et PCF8574A du port I2C numéro 2. Le
bit 7 du PCF8574 correspond au voyant vert à gauche et le bit 0 du
PCF8574A au voyant rouge à droite. Le schéma électrique est le suivant:
Instructions
- CW_BARRE_GRAPHE 277
Numéro du
registre d'extension du barre graphe.
Cette instruction n'existe pas dans le mini système FORTH,
l'accès direct aux voyants se fait par l'intermédiaire des instructions I2C_PCF8574_C@, I2C_PCF8574_C!, I2C_PCF8574A_C@ et I2C_PCF8574A_C! numéro 2.
niveau BARRE_GRAPHE
-
Affichage du niveau
désiré.
niveau est la valeur du niveau désiré (0
minimum à 16 maximum).
Si niveau est négatif, la tâche du pilote est supprimée.
Utilisation
Le
pilote n'étant pas intégré au noyau,
il fau
d'abord compiler le fichier source
barre_graphe.txt avant de pouvoir l'utiliser.
Pour
l'émulateur du mini système FORTH, il faut d'abord compiler les pilotes I2C décrits dans les fichiers sources pcf8574.txt et pcf8574a.txt puis compiler barre_graphe.txt.
La séquence suivante correspond à l'affichage du
niveau 10:
10
BARRE_GRAPHE
Le pilote gère automatiquement l'installation d'une
tâche qui memorise le niveau maximum pendant 250 ms. Ceci es
réalisé avec
la priorité 49152. Cette tâche est retirée lorsque le niveau est négatif.
Exemple
Le
programme suivant utilise l'entrée sortie analogique de
l'émulateur et nécessite donc l'installation du fichier source analogique.txt avant de pouvoir l'utiliser:
DECIMAL
:
PROG_ANALOGIQUE
( Valeur absolue de l'entrée et division par 8
pour le barre graphe )
ABS DUP 4/ 2/ BARRE_GRAPHE
;
FIND
PROG_ANALOGIQUE 2000 SYNC_ANALOGIQUE
Pour
retirer ce programme, il suffit de faire:
0 DUP
BARRE_GRAPHE DUP SYNC_ANALOGIQUE
Voici
une vidéo:
