Class CDS3231
La classe CDS3231 est dédiée au support par la librairie cpp2835 des horloge temps réel sauvegardée DS3231. 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.
C2835Driver* m_pDriver;
CI2CBus* m_pI2CBus;
CDS3231* m_pDS3231;
// Initialisation des pointeurs vers les objets requis à un pointeur nul
m_pDriver = nullptr;
m_pSPIBus = nullptr;
m_pDS3231 = nullptr;
// Création et vérificaation 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_pDS3231 = new CDS3231(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;
// Initialisation du DS3231
if(!m_pDS3231->Reset()) return false;
// Lecture de la date et heure
DS3231DateTime dt;
bool TFValid = false;
if(!m_pDS3231->GetDateTime(&dt, &TFValid)) return false;
if(!TFValid) return false;
// En fin de programme, fermeture du bus I2C et arrêt de la librairie
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_pDS3231 != nullptr) delete m_pDS3231;
if(m_pI2CBus != nullptr) delete m_pI2CBus;
if(m_pDriver != nullptr) delete m_pDriver;
Fonctions publiques
| CDS3231(CI2CBus* pI2CBus) | |
| bool | GetDateTime(struct DS3231DateTime* pdt, bool* pValid) |
| bool | Reset() |
| bool | SetDate(struct DS3231DateTime* pdt) |
| bool | SetDateTime(struct DS3231DateTime* pdt) |
| bool | SetTime(struct DS3231DateTime* pdt) |
| void | ToDS3231DateTime(struct DS3231DateTime* pdt, QDateTime* pQdt) |
| void | ToQDateTime(QDateTime* pQdt, struct DS3231DateTime* pdt, const bool& tfUTCToLocalTime = false) |
Description : Contructeur. Instancie un objet de la classe CDS3231.
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.
Description : Lit et retourne la date et l'heure sur un composant DS3231.
Paramètre de sortie : pdt - type DS3231DateTime* - Pointeur vers une structure DS3231DateTime contenant la date et l'heure en retour de la fonction.
Paramètre de sortie : pValid - type bool* - Pointeur vers un booléen indiquant si la valeur retournée par pdt est valide ou pas.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Initialise ou réinitialise le composant DS3231.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Met à jour la date sur le composant DS3231. L'heure n'est pas mise à jour.
Paramètre : pdt - type DS3231DateTime* - Pointeur vers une structure DS3231DateTime contenant la date à écrire dans les registres du composant DS3231.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Met à jour la date et l'heure sur le composant DS3231.
Paramètre : pdt - type DS3231DateTime* - Pointeur vers une structure DS3231DateTime contenant la date et l'heure à écrire dans les registres du composant DS3231.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Convertie une date et heure du format QDateTime de Qt au format DS3231DateTime.
Paramètre de sortie : pdt - type DS3231DateTime* - Pointeur vers une structure DS3231DateTime contenant la date et l'heure converties à ce format.
Paramètre : pQdt - type QDateTime* - Pointeur vers une structure QDateTime contenant la date et l'heure à convertir.
Description : Convertie une date et heure du format DS3231DateTime Qt au format Qt QDateTime.
Paramètre : pdt - type DS3231DateTime* - Pointeur vers une structure DS3231DateTime contenant la date et l'heure à convertir.
Paramètre de sortie : pQdt - type QDateTime* - Pointeur vers une structure QDateTime contenant la date et l'heure converties à ce format.
Paramètre : tfUTCToLocalTime - type bool& - Booléen indiquant si la date transmise est à l'heure UTC et doit être convertie à l'heure locale.