Document fait avec Nvu Document made with Nvu




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: