SysIo  1.9.0
Embedded Library and tools
Leds RGB

Detailed Description

Ce module permet de gérer les leds multicolores (Rouge, Verte, Bleue) de façons indépendantes de la plate-forme matérielle et du contrôleur.

Collaboration diagram for Leds RGB:

Modules

 Codes IOCTL
 
 Contrôleur TLC59116
 

Functions

int iLedRgbAddLed (xLedRgbDevice *d, eLedRgbMode mode, void *led_config)
 Ajout d'une led à un objet LedRgb. More...
 
int iLedRgbClearError (xLedRgbDevice *d)
 Effacement des défauts. More...
 
int iLedRgbCtl (xLedRgbDevice *d, int req,...)
 Appel d'une fonction spécifique à un contrôleur Afin de stabiliser l'interface logicielle d'un contrôleur, les fonctions non supportées par tous les contrôleurs passe par cette fonction. More...
 
int iLedRgbDeleteDevice (xLedRgbDevice *d)
 Fermeture et destruction d'un objet LedRgb. More...
 
int iLedRgbGetError (xLedRgbDevice *d, int led)
 Teste si une led est en défaut. More...
 
int iLedRgbSetBlinker (xLedRgbDevice *d, int item, int period, int dcycle)
 Clignotement d'un item. More...
 
int iLedRgbSetColor (xLedRgbDevice *d, int led, uint32_t color)
 Modifie la couleur d'une led. More...
 
int iLedRgbSetDimmer (xLedRgbDevice *d, int item, int dimming)
 Modifie la luminosité d'un item. More...
 
int iLedRgbSetGain (xLedRgbDevice *d, int item, int gain)
 Modifie le gain en courant. More...
 
int iLedRgbSetGrpColor (xLedRgbDevice *d, uint64_t grp, uint32_t color)
 Modifie la couleur d'une ou plusieurs leds. More...
 
int iLedRgbSetGrpMode (xLedRgbDevice *d, uint64_t grp, eLedRgbMode mode)
 Modifie le mode d'allumage d'une ou plusieurs leds. More...
 
int iLedRgbSetMode (xLedRgbDevice *d, int led, eLedRgbMode mode)
 Modifie le mode d'allumage d'une led. More...
 
int iLedRgbSize (const xLedRgbDevice *d)
 Nombre de leds RGB gérées par un objet LedRgb. More...
 
xLedRgbDevicexLedRgbNewDevice (eLedRgbDeviceModel ctrl_model, void *ctrl_list)
 Création et initialisation d'un objet LedRgb Cet objet permet le contrôle des leds RGB. More...
 

Macros

#define LEDRGB_ALL_LEDS   -1llu
 Masque de sélection pour toutes les leds.
 
#define LEDRGB_NO_LED   0
 Masque de sélection pour aucune led.
 

Typedefs

typedef struct xLedRgbDevice xLedRgbDevice
 Classe de contrôle de leds RGB Cette classe est opaque (privée) pour l'utilisateur.
 

Enumerations

enum  eLedRgbDeviceModel { eLedRgbDeviceNone = 0, eLedRgbDeviceTlc59116 = 1 }
 Modèle de contrôleur de leds RGB. More...
 
enum  eLedRgbMode { eLedRgbModeOff = 0, eLedRgbModeOn = 1, eLedRgbModePwm = 2, eLedRgbModeFull = 3 }
 

Enumeration Type Documentation

#include <ledrgb.h>

Modèle de contrôleur de leds RGB.

Enumerator
eLedRgbDeviceNone 

Pas de contrôleur

eLedRgbDeviceTlc59116 

Contrôleur TI I²C TLC59116

Definition at line 71 of file ledrgb.h.

71  {
72  eLedRgbDeviceNone = 0,
eLedRgbDeviceModel
Modèle de contrôleur de leds RGB.
Definition: ledrgb.h:71

#include <ledrgb.h>

Mode d'allumage d'une LED RGB

Enumerator
eLedRgbModeOff 

Led éteinte

eLedRgbModeOn 

Led allumée sans PWM, ni réglage de luminosité, ni clignotement. Impossible de régler la couleur dans ce mode !

eLedRgbModePwm 

Led avec PWM permettant le changement de couleur (pas de réglage de luminosité, ni de clignotement). C'est le mode normal.

eLedRgbModeFull 

Led avec PWM, réglage de luminosité et clignotement

Definition at line 60 of file ledrgb.h.

60  {
61  eLedRgbModeOff = 0,
62  eLedRgbModeOn = 1,
63  eLedRgbModePwm = 2,
64  eLedRgbModeFull = 3
65 } eLedRgbMode;
eLedRgbMode
Definition: ledrgb.h:60

Function Documentation

int iLedRgbAddLed ( xLedRgbDevice d,
eLedRgbMode  mode,
void *  led_config 
)

#include <ledrgb.h>

Ajout d'une led à un objet LedRgb.

Parameters
dpointeur sur l'objet
led_configpointeur sur la configuration de la led. Le type de variable pointée dépend du modèle de contrôleur.
Returns
l'index de la led ajoutée [0...], -1 si erreur
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.
int iLedRgbClearError ( xLedRgbDevice d)

#include <ledrgb.h>

Effacement des défauts.

Parameters
dpointeur sur l'objet
Returns
0, -1 si erreur
int iLedRgbCtl ( xLedRgbDevice d,
int  req,
  ... 
)

#include <ledrgb.h>

Appel d'une fonction spécifique à un contrôleur Afin de stabiliser l'interface logicielle d'un contrôleur, les fonctions non supportées par tous les contrôleurs passe par cette fonction.

Parameters
dpointeur sur l'objet
reqcode de la fonction ledrgb_ioctl
Returns
dépend de la fonction demandée, généralement 0 pour succès, -1 pour erreur
int iLedRgbDeleteDevice ( xLedRgbDevice d)

#include <ledrgb.h>

Fermeture et destruction d'un objet LedRgb.

Parameters
dpointeur sur l'objet
Returns
0, -1 si erreur
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.
int iLedRgbGetError ( xLedRgbDevice d,
int  led 
)

#include <ledrgb.h>

Teste si une led est en défaut.

En fonction du contrôleur utilisé, celui-ci peut effectuer une surveillance des leds (led en circuit ouvert, surchauffe ...). Si le modèle de contrôleur n'est pas équipé d'une détection de défauts, cette fonction retourne toujours false.

Returns
true si la led est ou a été en défaut, false si fonctionnelle, -1 si erreur.
int iLedRgbSetBlinker ( xLedRgbDevice d,
int  item,
int  period,
int  dcycle 
)

#include <ledrgb.h>

Clignotement d'un item.

Seules les LEDS en mode eLedRgbModeFull sont affectées.
Cette fonction est disponible que sur certains contrôleur (comme le TLC59116).

Parameters
dpointeur sur l'objet
itemindex de l'item à modifier, en fonction du modèle de contrôleur l'item peut être un contrôleur ou une led.
periodpériode en millisecondes (plage acceptée dépendant du modèle de contrôleur)
dcyclerapport cyclique (plage acceptée dépendant du modèle de contrôleur)
Returns
0, -1 si erreur ou non disponible (dans ce dernier cas errno vaut EINVAL)
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.
int iLedRgbSetColor ( xLedRgbDevice d,
int  led,
uint32_t  color 
)

#include <ledrgb.h>

Modifie la couleur d'une led.

Parameters
dpointeur sur l'objet
ledindex de la led
colornouvelle couleur
Returns
0, -1 si erreur
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.
int iLedRgbSetDimmer ( xLedRgbDevice d,
int  item,
int  dimming 
)

#include <ledrgb.h>

Modifie la luminosité d'un item.

Seules les LEDS en mode eLedRgbModeFull sont affectées. Cette fonction est disponible que sur certains contrôleur (comme le TLC59116).

Parameters
dpointeur sur l'objet
itemindex de l'item à modifier, en fonction du modèle de contrôleur l'item peut être un contrôleur ou une led.
dimmingnouvelle luminosité (plage acceptée dépendant du modèle de contrôleur)
Returns
0, -1 si erreur ou non disponible (dans ce dernier cas errno vaut EINVAL)
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.
int iLedRgbSetGain ( xLedRgbDevice d,
int  item,
int  gain 
)

#include <ledrgb.h>

Modifie le gain en courant.

Cette fonction est disponible que sur certains contrôleur (comme le TLC59116).

Parameters
dpointeur sur l'objet
itemindex de l'item à modifier, en fonction du modèle de contrôleur l'item peut être un contrôleur ou une led.
gainnouveau gain (plage acceptée dépendant du modèle de contrôleur)
Returns
0, -1 si erreur ou non disponible (dans ce dernier cas errno vaut EINVAL)
int iLedRgbSetGrpColor ( xLedRgbDevice d,
uint64_t  grp,
uint32_t  color 
)

#include <ledrgb.h>

Modifie la couleur d'une ou plusieurs leds.

Parameters
grpmasque 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.
colornouvelle couleur
Returns
0, -1 si erreur
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.
int iLedRgbSetGrpMode ( xLedRgbDevice d,
uint64_t  grp,
eLedRgbMode  mode 
)

#include <ledrgb.h>

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

La liste des modes supportés dépend du modèle de contrôleur.

Parameters
dpointeur sur l'objet
grpMasque 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.
modenouveau mode
Returns
0, -1 si erreur
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.
int iLedRgbSetMode ( xLedRgbDevice d,
int  led,
eLedRgbMode  mode 
)

#include <ledrgb.h>

Modifie le mode d'allumage d'une led.

La liste des modes supportés dépend du modèle de contrôleur.

Parameters
dpointeur sur l'objet
ledindex de la led
modenouveau mode
Returns
0, -1 si erreur
int iLedRgbSize ( const xLedRgbDevice d)

#include <ledrgb.h>

Nombre de leds RGB gérées par un objet LedRgb.

Parameters
dpointeur sur l'objet
Returns
le nombre de leds
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.
xLedRgbDevice* xLedRgbNewDevice ( eLedRgbDeviceModel  ctrl_model,
void *  ctrl_list 
)

#include <ledrgb.h>

Création et initialisation d'un objet LedRgb Cet objet permet le contrôle des leds RGB.

Parameters
ctrl_modelmodèle de contrôleur matériel utilisé
ctrl_listpointeur sur la liste des contrôleurs matériel, le type de variable pointée dépend du modèle de contrôleur.
Returns
pointeur sur l'objet, NULL si erreur
Examples:
i2c/ledrgb-tlc59116/sysio_demo_ledrgb_tlc59116.c.