Class CI2CBus
La classe CI2CBus représente un bus I2C et exporte toutes les fonctions nécessaires à l'ouverture de composants et à l'échange de données avec ceux-ci.
Les fonctions traitant du bus I2C sont publiques et peuvent être utilisées. Il est cepandant conseillé d'utiliser, pour échanger des données sur ce bus la classe CI2CDevice ou toutes autres classes héritant de ces deux dernières. La librairie ne supporte que le bus I2C0.
Pour des exemples et informations sur l'utilisation des bus I2C et SPI, se reporter à la rubrique : Exemples I2C et SPI avec cpp2835.
Fonctions publiques
| CI2CBus(C2835Driver* pDriver) | |
| bool | Close() |
| C2835Driver* | Driver() |
| bool | Open(const I2C_CLOCK_DIVIDER& eI2cClockDivider) |
| bool | Read(char* pcVal, const uint32_t& uLen, uint32_t* puLenRead) |
| bool | ReadRegisterRS(char* pcRegAddr, char* pcVal, const uint32_t& uLen, uint32_t* puLenRead) |
| bool | SetSlave(const uint8_t& uAddress) |
| bool | Write(const char* pcVal, const uint32_t& uLen) |
| bool | WriteReadRS(char* pcWVal, const uint32_t& uWLen, char* pcRVal, const uint32_t& uRLen) |
Description : Contructeur. Instancie un objet de la classe CI2CBus.
Paramètre : pDriver - type C2835Driver* - Pointeur vers l'objet C2835Driver instancié et initialisé en amont de cet appel.
Description : Termine les communications sur le bus I2C.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Retourne le pointeur vers l'objet C2835Driver passé au constructeur de la classe.
Valeur de retour : Pointeur vers l'objet C2835Driver passé au constructeur de la classe.
Description : Ouvre l'accès au bus I2C. Cette fonction doit être appelée avant toute autre fonction de lecture ou écriture sur le bus I2C.
Paramètre : eI2cClockDivider - type I2C_CLOCK_DIVIDER - Diviseur de l'horloge I2C permettaant d'ajuster la fréquence du bus.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Receptionne des données sur le bus I2C et les place dans le paramètre pcVal. Ce paramètre doit pointer vers une zone mémoire dimensionnée pour recevoir uLen caractères. Le nombre de caractères lus est écrit vers le pointeur puLenRead.
Paramètre de sortie : pcVal - type char* - Pointeur vers une chaine de caractères recevant les données reçues.
Paramètre : uLen - type uint32_t - Taille en nombre de caractères du pointeur pcVal.
Paramètre de sortie : puLenRead - type uint32_t* - En retour contient le nombre de caractères effectivement reçus.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Lit et retourne le contenu d'un registre sur des périphériques nécessitant un "restart" après avoir été adressés.
Paramètre : pcRegAddr - type char* - Pointeur vers une chaine de caractères contenant l'adresse du registre à lire.
Paramètre de sortie : pcVal - type char* - Pointeur vers une chaine de caractères recevant les données reçues.
Paramètre : uLen - type uint32_t - Taille en nombre de caractères du pointeur pcVal.
Paramètre de sortie : puLenRead - type uint32_t* - En retour contient le nombre de caractères effectivement reçus.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Désigne le périphérique I2C destinataire des prochaines écritures et lectures sur le bus I2C.
Paramètre : uAddress - type uint8_t - Adresse du périphérique destinataire des prochaines écritures et lectures sur le bus I2C.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Transmet un buffer d'octets vers le périphérique I2C actuellement adressé.
Paramètre : pcVal - type char* - Pointeur vers le buffer à envoyer au périphérique.
Paramètre : uLen - type uint32_t - Taille en nombre de caractères du pointeur pcVal.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.
Description : Transmet des données puis lit des données sur des périphériques nécessitant un "restart" après avoir été adressés.
Paramètre : pcWVal - type char* - Pointeur vers une chaine de caractères contenant les octets à envoyer.
Paramètre : uWLen - type uint32_t - Taille en nombre de caractères du pointeur pcWVal.
Paramètre de sortie : pcRVal - type char* - Pointeur vers une chaine de caractères recevant les données reçues.
Paramètre de sortie : uRLen - type uint32_t - Taille en nombre de caractères du pointeur pcRVal.
Valeur de retour : Booléen indiquant le succès (true) ou l'échec (false) de la fonction.