Bonjour tout le monde,
Je rencontre un soucis dans l'utilisation d'une bibliothèque pour un écran ILI9341 que je veux adapter. A l'origine elle était prévue pour un Arduino et je veux l'utiliser avec un ESP32.
Il s'agit d'un fonction qui affiche des caractères à partir d'une fonte.
la fonte est définit comme ça :
`const byte SmallFont[] PROGMEM = {
7, // ymax
1, // descender
' ', //first char
3, 0x00,0x00,0x00, // space
1, 0xFA, // !
3, 0xC0,0x00,0xC0, // "
5, 0x28,0xFE,0x28,0xFE,0x28, // #
5, 0x24,0x52,0xFF,0x4A,0x24, // dollar
6, 0x62,0x64,0x08,0x10,0x26,0x46, // %
****
Une des fonctions de la librairie qui utilise "Font"
void DrawChar(uint8_t c, byte Font, uint16_t color) {
word n, j, px;
byte ymax, desc;
unsigned long b,d;
ymax = pgm_read_byte_near(Font);
Font++;
Dans le programme elle est utilisée :
DrawChar(*c, SmallFont, color);
Dans le programme j'ai l'erreur
l'argument de type "const byte *" est incompatible avec le paramètre de type "byte"C/C++(167
Si je remplace les "byte Font" par "const byte Font" toutes mes erreurs sur l'incompatibilité de l'argument disparaisse mais j'ai une erreur sur la ligne "Font++" ce qui est compréhensible (on ne peux pas modifier une constante).
D'avance merci pour votre aide.
Plus d'infos:
J'utilise platformio sous w10.
Au cours de ma carrière j'ai développé beaucoup de programme en assembleur sur des microprocesseurs MOTOROLA et des mini style PDP11, MITRA15 ou SOLAR16-65.
Je suis débutant en C et C++ et autres, même si j'ai développé plusieurs "bricolage" avec des arduino.
Il s'agit de la librairie SimpleILI9341 adapté de la librairie TFT_ILI9341 elle même adapté de Adafruit_GFX
je suis un peu obligé d'utiliser cette librairie pour des soucis d'encombrement et de partage de bus SPI et autres tracasseries.