AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR

Description détaillée

Ce module permet de gérer les leds multicolores (Rouge, Verte, Bleue) de façons indépendantes de la plate-forme matérielle.
Son implémentation fait appel à un contrôleur spécialisé (TLC59116...).
La macro AVRIO_LEDRGB_ENABLE doit être définie dans avrio-config.h ou dans le makefile et dans ce cas, la partie interface matérielle doit être configurée dans le fichier avrio-board-ledrgb.h

Graphe de collaboration de Leds RGB:

Fonctions

int8_t iLedRgbInit (void)
 Initialise le module. Plus de détails...
 
void vLedRgbClearError (void)
 
void vLedRgbSetColor (xLedRgbMask xLed, uint32_t ulColor)
 Modifie la couleur d'une ou plusieurs leds. Plus de détails...
 
void vLedRgbSetGlobalBlinking (uint16_t usPeriod, uint8_t ucDutyCycle)
 Fait clignoter toutes les leds configurées en mode MODE_BLINK. Plus de détails...
 
void vLedRgbSetGlobalDimming (uint8_t ucDimming)
 Modifie la luminosité globale de toutes les leds configurées en mode MODE_BLINK. Plus de détails...
 
void vLedRgbSetMode (xLedRgbMask xLed, eLedRgbMode eMode)
 Modifie le mode d'allumage d'une ou plusieurs leds. Plus de détails...
 
xLedRgbMask xLedRgbError (void)
 Renvoie les erreurs des leds. Plus de détails...
 

Macros

#define LEDRGB_ALL_LEDS
 Masque de sélection pour toutes les leds. Plus de détails...
 
#define LEDRGB_NO_LED
 Masque de sélection pour aucune led. Plus de détails...
 

Définitions de type

typedef uint16_t xLedRgbMask
 Type utilisé pour les masques de LED RGB. Plus de détails...
 

Énumérations

enum  eLedRgbMode { MODE_OFF = 0, MODE_ON = 1, MODE_BRIGHT = 2, MODE_BLINK = 3 }
 

Documentation des macros

#define LEDRGB_ALL_LEDS

Masque de sélection pour toutes les leds.

Doit être défini dans avrio-board-ledrgb.h

Exemples:
output/ledrgb/demo_ledrgb.c.

Définition à la ligne 153 du fichier ledrgb.h.

#define LEDRGB_NO_LED

Masque de sélection pour aucune led.

Doit être défini dans avrio-board-ledrgb.h

Exemples:
output/ledrgb/demo_ledrgb.c.

Définition à la ligne 161 du fichier ledrgb.h.

Documentation des définitions de type

Type utilisé pour les masques de LED RGB.

Le nombre de bits doit être supérieur ou égal au nombre de LED défini dans avrio-board-ledrgb.h (LEDRGB_LED_QUANTITY) Le type réel n'est pas forcément uint16_t. Il doit être défini dans avrio-board-ledrgb.h

Définition à la ligne 145 du fichier ledrgb.h.

Documentation du type de l'énumération

Mode d'allumage d'une LED RGB

Valeurs énumérées
MODE_OFF 

Led éteinte.

MODE_ON 

Led allumée sans variation d'intensité

MODE_BRIGHT 

Led avec variation d'intensité

MODE_BLINK 

Led avec variation d'intensité et clignotement.

Définition à la ligne 58 du fichier ledrgb.h.

58  {
59  MODE_OFF = 0,
60  MODE_ON = 1,
61  MODE_BRIGHT = 2,
62  MODE_BLINK = 3
63  } eLedRgbMode;
Led avec variation d'intensité
Definition: ledrgb.h:61
Led allumée sans variation d'intensité
Definition: ledrgb.h:60
eLedRgbMode
Definition: ledrgb.h:58
Led éteinte.
Definition: ledrgb.h:59
Led avec variation d'intensité et clignotement.
Definition: ledrgb.h:62

Documentation des fonctions

int8_t iLedRgbInit ( void  )

Initialise le module.

Après un initialisation du contrôleur, un test de présence est réalisé avant avant de configurer toutes les leds en mode variation d'intensité et clignotement (MODE_BLINK)

Renvoie
0 en cas de succès. Une valeur négative en cas d'erreur.
Exemples:
output/ledrgb/demo_ledrgb.c.
void vLedRgbSetColor ( xLedRgbMask  xLed,
uint32_t  ulColor 
)

Modifie la couleur d'une ou plusieurs leds.

Paramètres
xLedMasque des leds à modifier. Un bit 1 indique que l'on souhaite modifier la led correspondante. Un bit 0 indique que la led correspondante restera inchangée.
ulColorNouvelle couleur
Exemples:
output/ledrgb/demo_ledrgb.c.
void vLedRgbSetGlobalBlinking ( uint16_t  usPeriod,
uint8_t  ucDutyCycle 
)

Fait clignoter toutes les leds configurées en mode MODE_BLINK.

Seules les LEDS en mode MODE_BLINK sont affectées. Pour mettre fin au clignotement, il faut faire un appel à vLedRgbSetGlobalDimming()

Paramètres
usPeriodPériode en millisecondes. La valeur minimale et maximale dépend du contrôleur utilisé.
ucDutyCycleRapport cyclique entre 0 et 255
Exemples:
output/ledrgb/demo_ledrgb.c.
void vLedRgbSetGlobalDimming ( uint8_t  ucDimming)

Modifie la luminosité globale de toutes les leds configurées en mode MODE_BLINK.

Seules les LEDS en mode MODE_BLINK sont affectées. A l'initialisation la luminosité globale est à sa valeur maximale (255).

Paramètres
ucDimmingNouvelle luminosité entre 0 et 255
Exemples:
output/ledrgb/demo_ledrgb.c.
void vLedRgbSetMode ( xLedRgbMask  xLed,
eLedRgbMode  eMode 
)

Modifie le mode d'allumage d'une ou plusieurs leds.

Paramètres
xLedMasque des leds à modifier. Un bit 1 indique que l'on souhaite modifier la led correspondante. Un bit 0 indique que la led correspondante restera inchangée.
eModeNouveau mode
Exemples:
output/ledrgb/demo_ledrgb.c.
xLedRgbMask xLedRgbError ( void  )

Renvoie les erreurs des leds.

En fonction du contrôleur utilisé, celui-ci peut effectuer une surveillance des leds (led en circuit ouvert, surchauffe ...)

Renvoie
les bits d'erreurs pour chaque led multicolore. 1 indique une erreur. Si non implémenté par le contrôleur renvoie toujours 0.
Exemples:
output/ledrgb/demo_ledrgb.c.