Class CTLS2591

La classe CTLS2591 est dédiée au support par la librairie cpp2835 des composants TLS2591 pour la mesure de luminosité. Cette classe hérite de la classe CI2CDevice.

Exemple d'utilisation

Cet extrait de code est un pseudo code, il regroupe dans un même flot des opérations normalement disséminées dans diverses parties d'un programme.


// Déclaration des objets requis sous forme de pointeurs
C2835Driver* m_pDriver;
CI2CBus* m_pI2CBus;
CTLS2591* m_pTLS2591;

// Initialisation des pointeurs vers les objets requis à un pointeur nul
m_pDriver = nullptr;
m_pI2CBus = nullptr;
m_pTLS2591 = nullptr;

// Création et vérification de création des objets requis
if((m_pDriver = new C2835Driver()) == nullptr) return false;
if((m_pI2CBus = new CI2CBus(m_pDriver)) == nullptr) return false;
if((m_pTLS2591 = new CTLS2591(m_pI2CBus)) == nullptr) return false;

// Initialisation de la librairie et ouverture du bus I2C
if(!m_pDriver->Initialize()) return false;
if(!m_pI2CBus->Open(I2C_CLOCK_DIVIDER_65536)) false;

// Mise en service du TLS2591
if(!m_pTLS2591->PowerUp()) return false;

// Prise de mesure et récupération des valeurs mesurées
float fLum;
if(!m_pTLS2591->ReadLux(TLS2591_GAIN_LOW, TLS2591_TINT_200, &fLum)) return false;

// En fin de programme, fermeture du bus I2C et arrêt de la librairie
m_pTLS2591->PowerDown();
if(m_pI2CBus != nullptr) m_pI2CBus->Close();
if(m_pDriver != nullptr) m_pDriver->Terminate();

// En fin de programme, effacement des objets utilisés
if(m_pTLS2591 != nullptr) delete m_pTLS2591;
if(m_pI2CBus != nullptr) delete m_pI2CBus;
if(m_pDriver != nullptr) delete m_pDriver;

Fonctions publiques

CTLS2591(CI2CBus* pI2CBus)
boolGetDeviceID(uint8_t* pDeviceID, bool* pbIsTLS2591)
boolGetPackageID(uint8_t* pPackageID)
boolGetStatus(uint8_t* pStatus)
boolPowerDown()
boolPowerUp()
boolReadLux(const TLS2591_GAIN& Gain, const TLS2591_TINT& Tint, float* pLux)


CTLS2591::CTLS2591(CI2CBus* pI2CBus)

Description : Contructeur. Instancie un objet de la classe CTLS2591.


Paramètre : pI2CBus - type CI2CBus* - Pointeur vers l'objet CI2CBus auquel est connecté ce composant. L'objet pI2CBus aura été instancié et ouvert en amont de cet appel.



bool CTLS2591::GetDeviceID(uint8_t* pDeviceID, bool* pbIsTLS2591)

Description : Retourne l'identificateur du composant et vérifie qu'il s'agit bien d'un TLS2591.


Paramètre de sortie : pDeviceID - type uint8_t* - En sortie, retourne l'identificateur du composant.


Paramètre de sortie : pbIsTLS2591 - type bool* - En sortie, retourne true si le compsoant est bien un TLS2591.


Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.



bool CTLS2591::GetPackageID(uint8_t* pPackageID)

Description : Retourne l'identificateur du boitier du composant.


Paramètre de sortie : pPackageID - type uint8_t* - En sortie, retourne l'identificateur du boitier du composant.


Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.



bool CTLS2591::GetStatus(uint8_t* pStatus)

Description : Retourne l'état courant du composant.


Paramètre de sortie : pStatus - type uint8_t* - En sortie, retourne l'état du composant.


Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.



bool CTLS2591::PowerDown()

Description : Arrête le fonctionnement du composant.


Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.



bool CTLS2591::PowerUp()

Description : Met en service le fonctionnement du composant.


Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.



bool CTLS2591::ReadLux(const TLS2591_GAIN& Gain, const TLS2591_TINT& Tint, float* pLux)

Description : Retourne une mesure de luminosité en fonction du gain et de la durée d'intégration.


Paramètre : Gain - type TLS2591_GAIN& - Gain appliqué avant la mesure.

Paramètre : Tint - type TLS2591_TINT& - Temps d'intégration appliqué avant la mesure.

Paramètre de sortie : pLux - type float* - Pointeur vers un float contenant la mesure de luminosité en retour de la fonction. La mesure est exprimée en lux.


Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.