Architecture de la librairie cpp2835
La librairie cpp2835 déclare et définie les classes, structures, énumérations, types, constantes et macros documentés dans cette rubrique.
- Classes
- Structures
- Enumérations
- Types
- Constantes
- Macros
Diagramme des classes

Structures
La librairie définie les structures suivantes :
DS3231DateTime
La structure DS3231DateTime est utilisée par la classe CDS3231 pour ajuster ou lire la date et/ou l'heure.
{
int DS3231_second;
int DS3231_minute;
int DS3231_hour;
int DS3231_day;
int DS3231_month;
int DS3231_year;
int DS3231_weekday;
};
| Champ | Type | Bornes | Définition |
| DS3231_second | int | 0 - 59 | Seconde de la minute en cours |
| DS3231_minute | int | 0 - 59 | Minute de l'heure en cours |
| DS3231_hour | int | 0 - 23 | Heure de la date en cours |
| DS3231_day | int | 1 - 31 | Jour du mois en cours |
| DS3231_month | int | 1 -12 | Mois de l'année en cours (janvier = 1 .../... décembre = 12) |
| DS3231_year | int | 1970 - n | Année |
| DS3231_weekday | int | 1 - 7 | Jour de la semaine (Lundi = 1 .../... Dimanche = 7) |
Enumérations
La librairie définie les énumérations suivantes :
GPIO_PIN
Définie les broches GPIO du Raspberry Pi selon le modèle le plus ancien utilisable par cette librairie : le Raaspberry Pi III B.
La librairie bcm235 sur laquelle est basé la librairie Cpp2835 numérote les broches des fonctions GPIO du Raspberry Pi selon leur numéro physique.
Hors le composant BCM2835 utilise une numérotation logique différente à laquelle se réfère la plupart des documentations. Cette énumération renumérote
les voies GPIO de la librairie bcm2835 conformément à la documentation du Raspberry Pi en se basant sur leur numéro de broche physique
défini et utilisé par la librairie bcm2835. Ainsi, dans la librairie cpp2835 on référence les voies par leur numéro logique GPIO et non pas
par le numéro de broche.
| Elément | Valeur (définie par la librairie bcm2835) |
| GPIO_2 | RPI_BPLUS_GPIO_J8_03 |
| GPIO_3 | RPI_BPLUS_GPIO_J8_05 |
| GPIO_4 | RPI_BPLUS_GPIO_J8_07 |
| GPIO_14 | RPI_BPLUS_GPIO_J8_08 |
| GPIO_15 | RPI_BPLUS_GPIO_J8_10 |
| GPIO_17 | RPI_BPLUS_GPIO_J8_11 |
| GPIO_18 | RPI_BPLUS_GPIO_J8_12 |
| GPIO_27 | RPI_BPLUS_GPIO_J8_13 |
| GPIO_22 | RPI_BPLUS_GPIO_J8_15 |
| GPIO_23 | RPI_BPLUS_GPIO_J8_16 |
| GPIO_24 | RPI_BPLUS_GPIO_J8_18 |
| GPIO_10 | RPI_BPLUS_GPIO_J8_19 |
| GPIO_9 | RPI_BPLUS_GPIO_J8_21 |
| GPIO_25 | RPI_BPLUS_GPIO_J8_22 |
| GPIO_11 | RPI_BPLUS_GPIO_J8_23 |
| GPIO_8 | RPI_BPLUS_GPIO_J8_24 |
| GPIO_7 | RPI_BPLUS_GPIO_J8_26 |
| GPIO_5 | RPI_BPLUS_GPIO_J8_29 |
| GPIO_6 | RPI_BPLUS_GPIO_J8_31 |
| GPIO_12 | RPI_BPLUS_GPIO_J8_32 |
| GPIO_13 | RPI_BPLUS_GPIO_J8_33 |
| GPIO_19 | RPI_BPLUS_GPIO_J8_35 |
| GPIO_16 | RPI_BPLUS_GPIO_J8_36 |
| GPIO_26 | RPI_BPLUS_GPIO_J8_37 |
| GPIO_20 | RPI_BPLUS_GPIO_J8_38 |
| GPIO_21 | RPI_BPLUS_GPIO_J8_40 |
GPIO_FUNCTION
Définie les fonctions assignables aux voies définies par GPIO_PIN.
| Elément | Valeur (définie par la librairie bcm2835) |
| GPIO_FUNCTION_INPUT | BCM2835_GPIO_FSEL_INPT : Entrée numérique |
| GPIO_FUNCTION_OUTPUT | BCM2835_GPIO_FSEL_OUTP : Sortie numérique |
| GPIO_FUNCTION_ALT0 | BCM2835_GPIO_FSEL_ALT0 : Voir documentation Raspberry Pi fonction ALT0 |
| GPIO_FUNCTION_ALT1 | BCM2835_GPIO_FSEL_ALT1 : Voir documentation Raspberry Pi fonction ALT1 |
| GPIO_FUNCTION_ALT2 | BCM2835_GPIO_FSEL_ALT2 : Voir documentation Raspberry Pi fonction ALT2 |
| GPIO_FUNCTION_ALT3 | BCM2835_GPIO_FSEL_ALT3 : Voir documentation Raspberry Pi fonction ALT3 |
| GPIO_FUNCTION_ALT4 | BCM2835_GPIO_FSEL_ALT4 : Voir documentation Raspberry Pi fonction ALT4 |
| GPIO_FUNCTION_ALT5 | BCM2835_GPIO_FSEL_ALT5 : Voir documentation Raspberry Pi fonction ALT5 |
| GPIO_FUNCTION_MASK | BCM2835_GPIO_FSEL_MASK : Fonction sélection masque binaire |
GPIO_PUD_DIRECTION
Définie la mise en place ou pas de résistances de pull up ou pull down sur les voies définies par GPIO_PIN. lorsqu'elles sont configurées en entrées numériques selon l'énumération GPIO_FUNCTION.
Pour ceux que cela interesse : C'est quoi une résistance de pull up ou Pull down ?.
| Elément | Valeur (définie par la librairie bcm2835) |
| GPIO_PUD_DIRECTION_OFF | BCM2835_GPIO_PUD_OFF : Entrée numérique laissée flottante |
| GPIO_PUD_DIRECTION_DOWN | BCM2835_GPIO_PUD_DOWN : Résistance de pull down vers GND |
| GPIO_PUD_DIRECTION_UP | BCM2835_GPIO_PUD_UP : Résistance de pull up vers VCC |
SPI_BIT_ORDER
Définie l'ordre des bits lors des échanges sur un bus SPI.
| Elément | Valeur (définie par la librairie bcm2835) |
| SPI_BIT_ORDER_LSBFIRST | BCM2835_SPI_BIT_ORDER_LSBFIRST : Bit de poids faible en tête |
| SPI_BIT_ORDER_MSBFIRST | BCM2835_SPI_BIT_ORDER_MSBFIRST : Bit de poids fort en tête |
SPI_CLOCK_DIVIDER
Définie la fréquence d'horloge utilisée lors d'échanges sur bus SPI.
| Elément | Valeur (définie par la librairie bcm2835) |
| SPI_CLOCK_DIVIDER_65536 | BCM2835_SPI_CLOCK_DIVIDER_65536 - 6.1035156kHz sur RPI3 |
| SPI_CLOCK_DIVIDER_32768 | BCM2835_SPI_CLOCK_DIVIDER_32768 - 12.20703125kHz sur RPI3 |
| SPI_CLOCK_DIVIDER_16384 | BCM2835_SPI_CLOCK_DIVIDER_16384 - 24.4140625kHz sur RPI3 |
| SPI_CLOCK_DIVIDER_8192 | BCM2835_SPI_CLOCK_DIVIDER_8192 - 48.828125kHz sur RPI3 |
| SPI_CLOCK_DIVIDER_4096 | BCM2835_SPI_CLOCK_DIVIDER_4096 - 97.65625kHz sur RPI3 |
| SPI_CLOCK_DIVIDER_2048 | BCM2835_SPI_CLOCK_DIVIDER_2048 - 195.3125kHz sur RPI3 |
| SPI_CLOCK_DIVIDER_1024 | BCM2835_SPI_CLOCK_DIVIDER_1024 - 390.625kHz sur RPI3 |
| SPI_CLOCK_DIVIDER_512 | BCM2835_SPI_CLOCK_DIVIDER_512 - 781.25kHz sur RPI3 |
| SPI_CLOCK_DIVIDER_256 | BCM2835_SPI_CLOCK_DIVIDER_256 - 1.5625MHz sur RPI3 |
| SPI_CLOCK_DIVIDER_128 | BCM2835_SPI_CLOCK_DIVIDER_128 - 3.125MHz sur RPI3 |
| SPI_CLOCK_DIVIDER_64 | BCM2835_SPI_CLOCK_DIVIDER_64 - 6.250MHz sur RPI3 |
| SPI_CLOCK_DIVIDER_32 | BCM2835_SPI_CLOCK_DIVIDER_32 - 12.5MHz sur RPI3 |
| SPI_CLOCK_DIVIDER_16 | BCM2835_SPI_CLOCK_DIVIDER_16 - 25MHz sur RPI3 |
| SPI_CLOCK_DIVIDER_8 | BCM2835_SPI_CLOCK_DIVIDER_8 - 50MHz sur RPI3 |
| SPI_CLOCK_DIVIDER_4 | BCM2835_SPI_CLOCK_DIVIDER_4 - 100MHz sur RPI3 |
| SPI_CLOCK_DIVIDER_2 | BCM2835_SPI_CLOCK_DIVIDER_2 - 200MHz sur RPI3 |
| SPI_CLOCK_DIVIDER_1 | BCM2835_SPI_CLOCK_DIVIDER_1 - 6.1035156kHz sur RPI3 |
SPI_DATA_MODE
Définie la polarité et la phase de l'horloge CLK selon la norme sur bus SPI.
| Elément | Valeur (définie par la librairie bcm2835) |
| SPI_DATA_MODE_0 | BCM2835_SPI_MODE0 - CPOL = 0, CPHA = 0 |
| SPI_DATA_MODE_1 | BCM2835_SPI_MODE1 - CPOL = 0, CPHA = 1 |
| SPI_DATA_MODE_2 | BCM2835_SPI_MODE2 - CPOL = 1, CPHA = 0 |
| SPI_DATA_MODE_3 | BCM2835_SPI_MODE3 - CPOL = 1, CPHA = 1 |
SPI_CS
Définie l'assignation des lignes CS du port GPIO à un bus SPI.
| Elément | Valeur (définie par la librairie bcm2835) |
| SPI_CS_0 | BCM2835_SPI_CS0 - GPIO 8 pour bus SPI0 - GPIO 16 pour sur SPI1 |
| SPI_CS_1 | BCM2835_SPI_CS1 - GPIO 7 pour bus SPI0 |
| SPI_CS_BOTH | BCM2835_SPI_CS2 - GPIO 8 et GPIO 7 pour bus SPI0 - GPIO 16 pour sur SPI1 |
| SPI_CS_NONE | BCM2835_SPI_CS_NONE - Gestion de la ligne CS par le programme utilisateur |
SPI_CS_POLARITY
Définie la polarité de la ligne CS attribuée à un périphérique SPI.
| Elément | Valeur |
| SPI_CS_POLARITY_NEGATIVE | 0x00 |
| SPI_CS_POLARITY_POSITIVE | 0x01 |
I2C_CLOCK_DIVIDER
Définie la fréquence d'horloge utilisée lors d'échanges sur bus I2C. Attention la valeur numérique en fin de nom des éléments n'a pas de signification matérielle. Elles sont simplement équivalentes aux valeurs de l'énumération SPI_CLOCK_DIVIDER.
| Elément | Valeur (définie par la librairie bcm2835) |
| I2C_CLOCK_DIVIDER_65536 | BCM2835_I2C_CLOCK_DIVIDER_2500 - 100kHz |
| I2C_CLOCK_DIVIDER_32768 | BCM2835_I2C_CLOCK_DIVIDER_626 - 400kHz |
| I2C_CLOCK_DIVIDER_16384 | BCM2835_I2C_CLOCK_DIVIDER_150 - 1.666MHz |
| I2C_CLOCK_DIVIDER_8192 | BCM2835_I2C_CLOCK_DIVIDER_148 - 1.689MHz |
PWM_CLOCK_DIVIDER
Définie la fréquence du PWM sur la broche GPIO18. Cette fréquence sera 19.2 MHz divisée par la valeur de cette énumération.
Par exemple : 19.2 MHz / PWM_CLOCK_DIVIDER_16 = 1,2 MHz
| Elément | Valeur (définie par la librairie bcm2835) |
| PWM_CLOCK_DIVIDER_2048 | BCM2835_PWM_CLOCK_DIVIDER_2048 |
| PWM_CLOCK_DIVIDER_1024 | BCM2835_PWM_CLOCK_DIVIDER_1024 |
| PWM_CLOCK_DIVIDER_512 | BCM2835_PWM_CLOCK_DIVIDER_512 |
| PWM_CLOCK_DIVIDER_256 | BCM2835_PWM_CLOCK_DIVIDER_256 |
| PWM_CLOCK_DIVIDER_128 | BCM2835_PWM_CLOCK_DIVIDER_128 |
| PWM_CLOCK_DIVIDER_64 | BCM2835_PWM_CLOCK_DIVIDER_64 |
| PWM_CLOCK_DIVIDER_32 | BCM2835_PWM_CLOCK_DIVIDER_32 |
| PWM_CLOCK_DIVIDER_16 | BCM2835_PWM_CLOCK_DIVIDER_16 |
| PWM_CLOCK_DIVIDER_8 | BCM2835_PWM_CLOCK_DIVIDER_8 |
| PWM_CLOCK_DIVIDER_4 | BCM2835_PWM_CLOCK_DIVIDER_4 |
| PWM_CLOCK_DIVIDER_2 | BCM2835_PWM_CLOCK_DIVIDER_2 |
| PWM_CLOCK_DIVIDER_1 | BCM2835_PWM_CLOCK_DIVIDER_1 |
PWM_MODE
Définie le mode PWM sur la voie GPIO 18.
| Elément | Valeur |
| PWM_MODE_BALANCED | 0x00 |
| PWM_MODE_MARKSPACE | 0x01 |
BME280_ADR
Recense les adresses possibles d'un composant BME280 sur un bus I2C.
| Elément | Valeur |
| BME280_ADR_0X76 | 0x76 |
| BME280_ADR_0X77 | 0x77 |
BME280_REGISTER
Recense les registres d'un composant BME280 sur un bus I2C.
| Elément | Valeur |
| BME280_T1_LSB_REG | 0x88 |
| BME280_T1_MSB_REG | 0x89 |
| BME280_T2_LSB_REG | 0x8A |
| BME280_T2_MSB_REG | 0x8B |
| BME280_T3_LSB_REG | 0x8C |
| BME280_T3_MSB_REG | 0x8D |
| BME280_P1_LSB_REG | 0x8E |
| BME280_P1_MSB_REG | 0x8F |
| BME280_P2_LSB_REG | 0x90 |
| BME280_P2_MSB_REG | 0x91 |
| BME280_P3_LSB_REG | 0x92 |
| BME280_P3_MSB_REG | 0x93 |
| BME280_P4_LSB_REG | 0x94 |
| BME280_P4_MSB_REG | 0x95 |
| BME280_P5_LSB_REG | 0x96 |
| BME280_P5_MSB_REG | 0x97 |
| BME280_P6_LSB_REG | 0x98 |
| BME280_P6_MSB_REG | 0x99 |
| BME280_P7_LSB_REG | 0x9A |
| BME280_P7_MSB_REG | 0x9B |
| BME280_P8_LSB_REG | 0x9C |
| BME280_P8_MSB_REG | 0x9D |
| BME280_P9_LSB_REG | 0x9E |
| BME280_P9_MSB_REG | 0x9F |
| BME280_H1_REG | 0xA1 |
| BME280_H2_LSB_REG | 0xE1 |
| BME280_H2_MSB_REG | 0xE2 |
| BME280_H3_REG | 0xE3 |
| BME280_H4_411_REG | 0xE4 |
| BME280_H4_30_H5_30_REG | 0xE5 |
| BME280_H5_411_REG | 0xE6 |
| BME280_H6_REG | 0xE7 |
| BME280_ID_REG | 0xD0 |
| BME280_RESET_REG | 0xE0 |
| BME280_CTRL_HUM_REG | 0xF2 |
| BME280_STATUS_REG | 0xF3 |
| BME280_CTRL_MEAS_REG | 0xF4 |
| BME280_CONFIG_REG | 0xF5 |
| BME280_PRESS_MSB_REG | 0xF7 |
| BME280_PRESS_LSB_REG | 0xF8 |
| BME280_PRESS_XSB_REG | 0xF9 |
| BME280_TEMP_MSB_REG | 0xFA |
| BME280_TEMP_LSB_REG | 0xFB |
| BME280_TEMP_XSB_REG | 0xFC |
| BME280_HUM_MSB_REG | 0xFD |
| BME280_HUM_LSB_REG | 0xFE |
BME280_PRESS_OVERSAMPLING
Définie le niveau de suréchantillonage lors des mesures de pression sur un composant BME280.
| Elément | Valeur |
| BME280_PRESS_OVERSAMPLING_1 | 0x04 |
| BME280_PRESS_OVERSAMPLING_2 | 0x08 |
| BME280_PRESS_OVERSAMPLING_4 | 0x0C |
| BME280_PRESS_OVERSAMPLING_8 | 0x10 |
| BME280_PRESS_OVERSAMPLING_16 | 0x14 |
BME280_TEMP_OVERSAMPLING
Définie le niveau de suréchantillonage lors des mesures de température sur un composant BME280.
| Elément | Valeur |
| BME280_TEMP_OVERSAMPLING_1 | 0x20 |
| BME280_TEMP_OVERSAMPLING_2 | 0x40 |
| BME280_TEMP_OVERSAMPLING_4 | 0x60 |
| BME280_TEMP_OVERSAMPLING_8 | 0x80 |
| BME280_TEMP_OVERSAMPLING_16 | 0xA0 |
BME280_HUM_OVERSAMPLING
Définie le niveau de suréchantillonage lors des mesures d'humidité relative sur un composant BME280.
| Elément | Valeur |
| BME280_HUM_OVERSAMPLING_1 | 0x01 |
| BME280_HUM_OVERSAMPLING_2 | 0x02 |
| BME280_HUM_OVERSAMPLING_4 | 0x03 |
| BME280_HUM_OVERSAMPLING_8 | 0x04 |
| BME280_HUM_OVERSAMPLING_16 | 0x05 |
DS3231_REGISTER
Recense les registres d'un composant DS3231 sur un bus I2C.
| Elément | Valeur |
| DS3231_SEC_REG_ADDR | 0x00 |
| DS3231_MIN_REG_ADDR | 0x01 |
| DS3231_HR_REG_ADDR | 0x02 |
| DS3231_DAY_REG_ADDR | 0x03 |
| DS3231_DATE_REG_ADDR | 0x04 |
| DS3231_MON_REG_ADDR | 0x05 |
| DS3231_YR_REG_ADDR | 0x06 |
| DS3231_CTL_REG_ADDR | Ox0E |
| DS3231_STAT_REG_ADDR | 0x0F |
MAX31865_RTD_TYPE
Recense les types de sondes platine utilisables selon leur résistance à 0°C pour un composant MAX31865.
Ce point est important pour mettre en oeuvre la bonne linéarisation en température à partir des données retournées par le composant.
Ces données sont retournées par rapport à une résistance de référence nommée RREF physiquement cablée sur le composant.
Dans le cas de RTD 100 Ohms, RREF vaut 430 Ohms, dans le cas de RTD 1000 Ohms, RREF vaut 4,3 KOhms.
A titre d'exemple, chez ADAFRUIT leur produit MX31865 est disponible dans les deux versions :
- 100 Ohms : Product ID : 3328
- 1000 Ohms : Product ID : 3648
Seule la valeur de RREF différencie ces deux versions
| Elément | Valeur |
| MAX31865_100_RTD_TYPE | |
| MAX31865_1000_RTD_TYPE |
MAX31865_RTD_WIRES
Recense les types de cablages des sondes platine utilisables par un composant MAX31865.
| Elément | Valeur |
| MAX31865_RTD_2_WIRES | |
| MAX31865_RTD_3_WIRES | |
| MAX31865_RTD_4_WIRES |
MAX31865_FILTER
Recense les fréquences à filtrer (fréquence secteur) par un composant MAX31865 lors de mesures de température.
| Elément | Valeur |
| MAX31865_50HZ_FILTER | |
| MAX31865_60HZ_FILTER |
MAX31865_ERROR_CODE
Recense les erreurs possibles rencontrées lors des mesures par la classe CMAX31685.
| Elément | Valeur |
| MAX31865_ERROR_CODE_NOERROR | 0 - Pas d'erreur |
| MAX31865_ERROR_CODE_2835DRIVER_ERROR | 1 - Erreur pilote cpp2835 |
| MAX31865_ERROR_CODE_FAULT | 2 - Erreur électrique lors de la mesure |
MCP3424_ADR
Recense les adresses possibles d'un composant MCP3424 sur un bus I2C.
| Elément | Valeur |
| MCP3424_ADR_0X68 | 0x68 |
| MCP3424_ADR_0X69 | 0x69 |
| MCP3424_ADR_0X6A | 0x6A |
| MCP3424_ADR_0X6B | 0x6B |
| MCP3424_ADR_0X6C | 0x6C |
| MCP3424_ADR_0X6D | 0x6D |
| MCP3424_ADR_0X6E | 0x6E |
| MCP3424_ADR_0X6F | 0x6F |
MCP3424_CHANNEL
Recense les voies d'acquisition possibles d'un composant MCP3424 sur un bus I2C.
| Elément | Valeur |
| MCP3424_CHANNEL_1 | 0x00 |
| MCP3424_CHANNEL_2 | 0x20 |
| MCP3424_CHANNEL_3 | 0x40 |
| MCP3424_CHANNEL_4 | 0x60 |
MCP3424_RESOLUTION
Recense les résolutions d'acquisition possibles d'un composant MCP3424 sur un bus I2C.
| Elément | Valeur |
| MCP3424_RESOLUTION_12 | 0x00 |
| MCP3424_RESOLUTION_14 | 0x04 |
| MCP3424_RESOLUTION_16 | 0x08 |
| MCP3424_RESOLUTION_18 | 0x0C |
MCP3424_GAIN
Recense les résolutions d'acquisition possibles d'un composant MCP3424 sur un bus I2C.
| Elément | Valeur |
| MCP3424_GAIN_1 | 0x00 |
| MCP3424_GAIN_2 | 0x01 |
| MCP3424_GAIN_4 | 0x02 |
| MCP3424_GAIN_8 | 0x03 |
MCP9808_ADR
Recense les adresses possibles d'un composant MCP9808 sur un bus I2C.
| Elément | Valeur |
| MCP9808_ADR_0X18 | 0x18 |
| MCP9808_ADR_0X19 | 0x19 |
| MCP9808_ADR_0X20 | 0x20 |
| MCP9808_ADR_0X21 | 0x21 |
| MCP9808_ADR_0X22 | 0x22 |
| MCP9808_ADR_0X23 | 0x23 |
| MCP9808_ADR_0X24 | 0x24 |
| MCP9808_ADR_0X25 | 0x25 |
MCP9808_REGISTER
Recense les registres d'un composant MCP9808 sur un bus I2C.
| Elément | Valeur) |
| MCP9808_REG_CONFIG | 0x01 |
| MCP9808_REG_UPPER_TEMP | 0x02 |
| MCP9808_REG_LOWER_TEMP | 0x03 |
| MCP9808_REG_CRIT_TEMP | 0x04 |
| MCP9808_REG_AMBIENT_TEMP | 0x05 |
| MCP9808_REG_MANUF_ID | 0x06 |
| MCP9808_REG_DEVICE_ID | 0x07 |
MCP23017_ADR
Recense les adresses possibles d'un composant MCP23017 sur un bus I2C.
| Elément | Valeur |
| MCP23017_ADR_0X20 | 0x20 |
| MCP23017_ADR_0X21 | 0x21 |
| MCP23017_ADR_0X22 | 0x22 |
| MCP23017_ADR_0X23 | 0x23 |
| MCP23017_ADR_0X24 | 0x24 |
| MCP23017_ADR_0X25 | 0x25 |
| MCP23017_ADR_0X26 | 0x26 |
| MCP23017_ADR_0X27 | 0x27 |
MCP23017_PORT
Recense les ports numériques présents sur un composant MCP23017.
| Elément | Valeur |
| MCP23017_PORT_0 | 0x00 - Port 0 |
| MCP23017_PORT_1 | 0x01 - Port 1 |
MCP23017_PORT_DIR
Recense les directions (entrée ou sortie) des ports numériques présents sur un composant MCP23017.
| Elément | Valeur |
| MCP23017_PORT_DIR_OUTPUT | 0x00 - Port en sortie |
| MCP23017_PORT_DIR_INPUT | 0xFF - Port en entrée |
MCP23017_REGISTER
Recense les registres d'un composant MCP23017.
| Elément | Valeur |
| MCP23017_REG_IODIR0 | 0x00 |
| MCP23017_REG_IODIR1 | 0x01 |
| MCP23017_REG_IOPOL0 | 0x02 |
| MCP23017_REG_IOPOL1 | 0x03 |
| MCP23017_REG_GPINTEN0 | 0x04 |
| MCP23017_REG_GPINTEN1 | 0x05 |
| MCP23017_REG_DEFVAL0 | 0x06 |
| MCP23017_REG_DEFVAL1 | 0x07 |
| MCP23017_REG_INTCON0 | 0x08 |
| MCP23017_REG_INTCON1 | 0x09 |
| MCP23017_REG_IOCON | 0x0A |
| MCP23017_REG_GPPU0 | 0x0C |
| MCP23017_REG_GPPU1 | 0x0D |
| MCP23017_REG_INTF0 | 0x0E |
| MCP23017_REG_INTF1 | 0x0F |
| MCP23017_REG_INTCAP0 | 0x10 |
| MCP23017_REG_INTCAP1 | 0x11 |
| MCP23017_REG_GPIO0 | 0x12 |
| MCP23017_REG_GPIO1 | 0x13 |
| MCP23017_REG_OLAT0 | 0x14 |
| MCP23017_REG_OLAT1 | 0x15 |
TLS2591_REGISTER
Recense les registres d'un composant TLS2591.
| Elément | Valeur |
| TLS2591_CONTROL_REG | 0xA0 |
| TLS2591_TIMING_REG | 0xA1 |
| TLS2591_THRESHOLDLOWLOW_REG | 0xA4 |
| TLS2591_THRESHOLDLOWHIGH_REG | 0xA5 |
| TLS2591_THRESHOLDHIGHLOW_REG | 0xA6 |
| TLS2591_THREASHOLDHIGHHIGH_REG | 0xA7 |
| TLS2591_NOPERSIST_THRESHOLDLOWLOW_REG | 0xA8 |
| TLS2591_NOPERSIST_THRESHOLDLOWHIGH_REG | 0xA9 |
| TLS2591_NOPERSIST_THRESHOLDHIGHLOW_REG | 0xAA |
| TLS2591_NOPERSIST_THRESHOLDHIGHHIGH_REG | 0xAB |
| TLS2591_PERSIST_REG | 0xAC |
| TLS2591_PID_REG | 0xB1 |
| TLS2591_ID_REG | 0xB2 |
| TLS2591_STATUS_REG | 0xB3 |
| TLS2591_DATA0LOW_REG | 0xB4 |
| TLS2591_DATA0HIGH_REG | 0xB5 |
| TLS2591_DATA1LOW_REG | 0xB6 |
| TLS2591_DATA1HIGH_REG | 0xB7 |
TLS2591_GAIN
Recense les gains possibles lors des mesures de luminosité avec un composant TLS2591.
| Elément | Valeur |
| TLS2591_GAIN_LOW | 0x00 |
| TLS2591_GAIN_MED | 0x10 |
| TLS2591_GAIN_HI | 0x20 |
| TLS2591_GAIN_MAX | 0x30 |
TLS2591_TINT
Recense les durées d'intégration en mlillisecondes possibles lors des mesures de luminosité avec un composant TLS2591.
| Elément | Valeur |
| TLS2591_TINT_100 | 0x00 |
| TLS2591_TINT_200 | 0x01 |
| TLS2591_TINT_300 | 0x02 |
| TLS2591_TINT_400 | 0x03 |
| TLS2591_TINT_500 | 0x04 |
| TLS2591_TINT_600 | 0x05 |
VEML6075_REGISTER
Recense les registres d'un composant VEML6075.
| Elément | Valeur |
| VEML6075_CONFIGURATION_REG | 0x00 |
| VEML6075_UVA_REG | 0x07 |
| VEML6075_UVB_REG | 0x09 |
| VEML6075_UVCOMP1_REG | 0x0A |
| VEML6075_UVCOMP2_REG | 0x0B |
| VEML6075_ID_REG | 0x0C |
VEML6075_INTEGRATION_TIME
Recense les durées d'intégration des mesures UV d'un composant VEML6075.
| Elément | Valeur |
| VEML6075_INTEGRATION_TIME_50MS | 0 |
| VEML6075_INTEGRATION_TIME_100MS | 1 |
| VEML6075_INTEGRATION_TIME_200MS | 2 |
| VEML6075_INTEGRATION_TIME_400MS | 3 |
| VEML6075_INTEGRATION_TIME_800MS | 4 |
VEML6075_DYNAMIC_SETTING
Recense les gammes dynamiques des mesures UV d'un composant VEML6075.
| Elément | Valeur |
| VEML6075_DYNAMIC_SETTING_NORMAL | 0 |
| VEML6075_DYNAMIC_SETTING_HIGH | 8 |
UV_INDEX_CLASS
Recense les indices UV selon la norme ISO.
| Elément | Valeur |
| UV_INDEX_CLASS_LOW | |
| UV_INDEX_CLASS_MODERATE | |
| UV_INDEX_CLASS_HIGH | |
| UV_INDEX_CLASS_VERY_HIGH | |
| UV_INDEX_CLASS_EXTREM |
Types
La librairie définie les types suivants :
RGB565
Le type RGB565 défini des couleurs codées sur 16 bit (soit 65536 couleurs) ou la composante bleu est codée sur les bit 0 à 4, la composante verte est codée sur les bit 5 à 10 et la composante rouge sur les bits 11 à15. Ce type est utilisé par les classe CLCD7789 et CLCD7789PaintDevice pour définir les couleurs applicables au LCD.
Constantes
La librairie définie les constantes suivantes :
| Nom | Type | Valeur |
| CLCD7789::LCDWidth | uint16_t | 240 |
| CLCD7789::LCDHeight | uint16_t | 320 |
| CLCD7789::Black | RGB565 | 0x0000 |
| CLCD7789::White | RGB565 | 0xFFFF |
| CLCD7789::Red | RGB565 | 0xF800 |
| CLCD7789::DarkRed | RGB565 | 0x8000 |
| CLCD7789::Green | RGB565 | 0x07E0 |
| CLCD7789::DarkGreen | RGB565 | 0x0400 |
| CLCD7789::Blue | RGB565 | 0x001F |
| CLCD7789::DarkBlue | RGB565 | 0x0010 |
| CLCD7789::Cyan | RGB565 | 0x07FF |
| CLCD7789::DarkCyan | RGB565 | 0x0410 |
| CLCD7789::Magenta | RGB565 | 0xF81F |
| CLCD7789::DarkMagenta | RGB565 | 0x8010 |
| CLCD7789::Yellow | RGB565 | 0xFFE0 |
| CLCD7789::DarkYellow | RGB565 | 0x8400 |
| CLCD7789::Gray | RGB565 | 0xA514 |
| CLCD7789::DarkGray | RGB565 | 0x8410 |
| CLCD7789::LightGray | RGB565 | 0xC618 |
Macros
La librairie définie les constantes suivantes sous forme de macros :
| Nom | Valeur | Définition |
| DS_3231_I2C_ADDRESS | 0x68 | Adresse fixe sur bus I2C d'un composent DS3231 |
| TLS2591_I2C_ADDRESS | 0x29 | Adresse fixe sur bus I2C d'un composent TLS2591 |
| TLS2591_POWERUP | 0x03 | Octet de commande de démarrage d'un composent TLS2591 |
| TLS2591_POWERDOWN | 0x00 | Octet de commande de d'arrêt d'un composent TLS2591 |
| TSL2591_LUX_DF | (408.0F) | Coefficient de conversion en lux d'une msure sur composent TLS2591 |
| VEML6075_DEVICE_ID | 0x26 | Identificateur d'un composant VEML6075 |
| VEML6075_I2C_ADDRESS | 0x10 | Adresse fixe sur bus I2C d'un composent VEML6075 |